我正在编写一个具有属性的Angular组件Mode(): string.我希望能够以编程方式设置此属性,而不是响应任何事件.问题是在没有浏览器事件的情况下,模板绑定{{Mode}}不会更新.有没有办法手动触发此更改检测?
我将重点放在开发工具中的组件元素上,可以执行以下操作:
ng.probe($0)
Run Code Online (Sandbox Code Playgroud)
获取特殊对象" DebugElement ".现在我们可以得到它的注射器:
ng.probe($0).injector
Run Code Online (Sandbox Code Playgroud)
现在我想得到一个在这个组件上定义的依赖.依赖性被定义为类,所以我应该这样做:
ng.probe($0).injector.get(MyService)
Run Code Online (Sandbox Code Playgroud)
但!服务器未在控制台范围中定义.如果我把它变成一个字符串:
ng.probe($0).injector.get('MyService')
Run Code Online (Sandbox Code Playgroud)
显然它也行不通.
我正在尝试在ReflectiveInjector.get上进行逆向工程,但现在没有运气.有任何想法吗?
我正在尝试使用控制台(开发工具)填写 Angular 4+ 表单。
这就是我现在正在做的事情:
function fillForm(){
let el = document.querySelector('input[ng-reflect-name="my_input"]');
let elProbe = ng.probe(el);
elProbe._debugContext.component.value = 'new-value';
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用的一些参考资料(如果对任何人有帮助的话):