refactor: Use Di
feat(Template) Add a InjectView directive for auto injection of a view