是否可以使用$ observe?
在指令中观看儿童的钟声我有这个HTML,用我的"监视器"指令。
<monitor>
<div class="panel panel-default">
<div class="panel-heading">
<i class="fa fa-desktop"></i> Monitor <expand class="pull-right"><button class="btn btn-info btn-xs" ng-click="expand()"><i class="fa fa-expand"></i></button></expand>
</div>
<div class="panel-body monitor-blink">
<h4 class="alert-title no-margin">No monitoring </h4>
</div>
</div>
</monitor>
<div class="panel panel-default">
将成为<div class="panel panel-default expand">
,并且当我添加该类时,我会尝试在我的dom中进行更改。
我想过强制申请$但是一直试图用$ observe来解决这个问题。我如何在子属性上观察$ observer?
喜欢这个吗?
attr.$observe(attrs, function(key, val) {
// Do stuff
});
$observer
的第一个参数是什么?那就是我被困的地方
答案 0 :(得分:2)
不,$oberve
是要注意指令上的插值绑定(例如some-dynamic-attribute="{{someValue}}"
)。
我不知道这个子类是如何设置的,但是你有两个场景:要么是由Angular设置的,在这种情况下你应该搜索导致angular设置这个类的原因,然后观察同一个事件。
或者,如果它是由第三方库设置的,您可以执行以下操作:
var theChildElement = ...;
scope.$watch(function() { return theChildElement.className; }, function(className) {
// className is the list of classes of that child element, called every time this list changes
});
这样可行,但是如果你有一个很大的角度应用程序,观察者可能会有点贵。在一个小的,它应该不是一个问题。