Angularjs 指令,函数双向绑定陷入无限循环
Angularjs directive with function two way bound falling into infinite loop
我正在尝试创建一个自定义指令来使用包含数据的<select>
组合。此指令具有传递的更改函数,并在模板中使用ng-change
。它调用的函数在父级的作用域中,而不是在隔离的指令作用域中。例如:
app.directive('selectDirective', function() {
return {
templateUrl: 'templates/myTemplate.html',
restrict: 'E',
require: 'ngModel',
scope: {
change: '=',
}
...
}
该指令的调用方式如下:<selectDirective change="myFunction()">
如您所见,我正在使用双向绑定(=
)来定义父级范围内的函数。它必须是这种方式,因为我在调用此函数时会更新其他<select>
。请注意,在父函数中,我使用指令模型来检索其 id。
我的问题是,一旦调用父函数,它就会陷入无限循环,我找不到出路。有什么想法吗?
通过使用$timeout
服务包装函数来解决问题。它将函数添加到队列中,并在角度准备就绪后执行,因此模型也会同步。
相关文章:
- 注册OpenLayers事件时,即使使用匿名函数或绑定,JavaScript关闭也会触发循环内的所有内容
- Jquery将循环变量绑定到getJSON函数
- 对视图上函数的角度绑定导致对数据服务的无限调用
- JsViews复选框从内部循环绑定
- 如何将InfoBoxes与googlemaps实用程序库v3绑定到循环中的点击侦听器
- jQuery使用最后一个参数在Javascript循环中单击绑定函数
- 动态绑定onclick事件为for循环中的所有按钮提供相同的值
- 在绑定到内部$http函数时运行无限摘要循环
- 通过 for 循环绑定会产生错误的结果
- Angularjs 指令,函数双向绑定陷入无限循环
- 使用 jQuery 将事件绑定到具有 for 循环的多个元素
- 余烬每循环加倍.使用内部每个循环变量的值绑定到外部每个循环的变量中命名相同的属性
- 在 Foreach 循环中使用 IF 条件来比较数据绑定值
- Ember.js – 将按钮操作从 #each 循环绑定到其自己的模型
- 绑定一个 onclick 函数,对象作为在循环中创建的锚标记上的参数
- 循环访问 Knockout - 绑定错误中的不同对象的数组
- 如何绑定和解除绑定无限ajax滚动,以便其他jQuery正常工作
- 如何使用闭包将事件绑定到循环中的元素数组
- 用Angular表达式绑定Ajax调用的无限循环
- 将事件与jquery绑定在循环中