当前位置: 首页 > 面试题库 >

如何在指令的attrs中监视属性

闽哲
2023-03-14
问题内容

我有一个控制器,它的计数器会不时变化。
该计数器与指令的属性绑定,并在该指令的链接函数内部读取。

每当attr值更改时,如何让指令运行函数?

谢谢。


问题答案:

里面的相应的link功能:(假设你的属性称为counter你的范围变量是:scope

scope.$watch(attrs.counter, function (newTime) {
                    //do something with the new Time
});

其他方式,肯定是更有效的方式:

插值属性

在指令内部,将scope属性设置如下(它将被隔离):

scope: { counter: '@'}

counter只要link调用该函数,就会自动观察提供当前值的。

'@''='这里要好,因为我想您不会在指令中将计数器设置为新值,这意味着您只读取了它。实际上,=它对于双向数据绑定更为有用,但是您可能不需要它。



 类似资料:
  • 问题内容: 我尝试创建一个指令,当输入字段标记为无效时,该指令应执行一些操作。对于此示例,假设我有一条指令检查输入是否为素数,并且我想创建一条指令,在无效时将一个类添加到元素: validate-prime使用ng-model上的解析器和格式化程序来更新模型的有效性。 现在,我希望invalid-add-class指令在模型无效时添加“错误”类,并在有效时将其删除。换句话说,它应该监视模型控制器的

  • 问题内容: 将一个类添加到元素时,我想向该元素添加另一个类。当一个类被删除时,我想删除一个元素。我基本上是将一些引导程序类映射到某些角度形式验证类,但是当从元素中添加/删除一个类时,我无法弄清楚如何触发我的代码(还要确保不要引起类更改的无限循环) 。 到目前为止,这是我的指令的内容: 因此,基本上,当添加到元素时,我想将bootstrap类添加到父元素。何时删除,我想删除。 我想在Angular中

  • 装饰器允许我们在指令的host元素上编程设置属性值。 它类似于模板中定义的属性绑定,除了它专门定位到host元素。 对每个变化检测周期检查绑定,因此如果需要,它可以动态地改变。 注意,对于的两个用例,我们传递一个字符串值到我们想要改变的属性。如果我们不向装饰器提供字符串,那么将使用类成员的名称。

  • 那么,的目的是什么?不能访问通过传递的所有属性。为什么一个max的访问值不能作为而不是 为什么要像那样分配回来? 谢了。

  • 问题内容: 我正在尝试编写一个向指令添加验证属性的角度指令,但是它似乎没有用。这是我的演示。您将注意到,如果删除第二个输入框中的文本,则“有效”保持为true,但是如果删除第一个输入框中的文本,则为false。 http://plnkr.co/edit/Rr81dGOd2Zvio1cLYW8D?p=preview 这是我的指令: 我猜我只是缺少一些简单的东西。 问题答案: 在表单的编译阶段将读取所

  • 例如,Angular 2内置的属性指令ngClass和ngStyle,可以在任何组件或元素上工作。