Angularjs 浏览器呈现某个元素后,是否有方法触发函数?
假设我有以下简单的标记:Angularjs 浏览器呈现某个元素后,是否有方法触发函数?,angularjs,Angularjs,假设我有以下简单的标记: <div ng-class="getClass(currentElement)" ng-click="doSomething(currentElement)"> {{currentElement.someValue}} </div> {{currentElement.someValue} 是否有一种方法可以在每次由于currentElement更改而更改此标记时运行函数?(当currentElement.someValue发生变化时不会发生变
<div ng-class="getClass(currentElement)" ng-click="doSomething(currentElement)"> {{currentElement.someValue}} </div>
{{currentElement.someValue}
是否有一种方法可以在每次由于currentElement更改而更改此标记时运行函数?(当currentElement.someValue发生变化时不会发生变化)那么
$scope.watch呢?据
$rootScope.Scope#$watch(watchExpression,[listener],
[反对平等]代码>
注册一个侦听器回调,每当
观察表情变化
或者您也可以尝试自己使用$scope.on
和$scope.emit`控制事件
$rootScope.Scope#$on(名称、侦听器)代码>
侦听给定类型的事件。有关事件的讨论,请参见$emit
生命周期
$rootScope.Scope#$emit(名称,args)代码>
通过作用域层次结构向上分派事件名称,通知
已注册的$rootScope.Scope侦听器
最终
在高层,指令是DOM元素(例如
属性、元素名或CSS类)来告诉AngularJS的HTML
编译器($compile)将指定的行为附加到该DOM元素
或者甚至转换DOM元素及其子元素
可以通过为特定元素指定ID并检查其属性以进行更改!!您可以考虑其他方法,如<代码> $范围。监视< /代码>和<代码> $SCOEE。< <代码> >。阅读文档,看看这是否就是您想要的。我不想摆弄构造的ID,因为它很快就会变得非常混乱。@EdwinDalorzo我不想使用$scope.watch,因为我想在不止一种情况下使用它,我不希望每个实例都有很多被监视的变量。是的,但这意味着要监视一个变量,但我仍然无法访问DOM元素本身。我可能已经找到了一个涉及指令的解决方案,但我必须先测试它。@Bogdan指令听起来是个不错的计划。“从高层来看,指令是DOM元素(如属性、元素名称或CSS类)上的标记,它告诉AngularJS的HTML编译器($compile)将指定的行为附加到该DOM元素,甚至转换DOM元素及其子元素。”是的,我将从该指令广播一个事件,并在服务中收听它。现在唯一的问题是每当“currentElement”更改时触发指令。。。