feat(view): add onChange implementation to view.
feat(ElementInjector): throw when encounter a cyclic dependency