AngularJS值更改在指令中不可见
AngularJS value change not visible in directives
我想延迟编译子指令,直到父指令的预链接中的promise被解析并覆盖值(CONFIG)。
在父级预链接中:
somePromise.then(function(){
CONFIG = 1;
elem.append($compile(template)(scope));
}
模板包含Child指令,因此Child的预链接在promise的解析之后执行。现在我想访问Child的预链接中的CONFIG,它有旧值({})。
为什么会这样?Fiddle:http://jsfiddle.net/RmDuw/642/
在指令中执行CONFIG = 1
时,实际上是在更改局部变量的值,该变量恰好是Angular值服务注入的变量。
由于您正在更改的是一个局部变量,因此在子指令处注入的内容不会改变。
为了通过value服务将值发送到子指令,必须执行类似CONFIG.value = 1
的操作。
这是因为尽管它们是局部变量(每个指令一个),但它们是对同一服务的引用,因此指向对象的更改对两个引用都可见。
相关文章:
- 一次显示一个隐藏指令-AngularJS
- 一次显示一个指令AngularJS
- 在同一页面上多次使用的自定义指令 (AngularJS) 中的验证
- 无法绑定到没有指令 + angularjs 标识符的控制器
- 值未传递给指令-AngularJS
- 测试依赖于另一个指令Angularjs的指令
- 根据指令angularjs 1.2分配控制器
- 有模板问题的指令.AngularJS
- 编译指令在指令 AngularJS 中
- 我可以将 templateUrl 传递给指令 - AngularJS
- 从子指令的父指令 [angularJS] 触发子指令中的函数
- 将服务注入指令 AngularJS 和数据绑定
- 在指令 AngularJS 中解析
- 从指令 AngularJS 给出高图表正确的参数
- 获取 JSON 数据并传递给指令 Angularjs
- 点击事件后的渲染模板指令 - AngularJs
- 如何从分页指令angularjs隐藏直接页面链接
- AngularJS-关闭tile并从ngRepeat指令AngularJS中的模型加载新视图
- 触发指令AngularJs的控制器作用域
- 将定义的对象传递给另一个自定义指令angularjs