javascript - 如何在 AngularJs 中通过多个指令与隔离范围绑定(bind) ngModel?

标签 javascript angularjs angularjs-directive angularjs-scope

我正在尝试通过 ngModel 在 3 层深的指令层中绑定(bind)到一个属性。这很好,除了中间层包含一个 ng-if 我相信它创建了一个新的范围。此时绑定(bind)丢失。

我创建了一个 jsfiddle 来解释这种情况: http://jsfiddle.net/5fmck/2/

请注意,如果删除 ng-if 指令,它会起作用,但我使用 ng-if 而不是 ng-show性能原因

有谁知道如何从 fiddle 中的“inputDirective”模板更新原始 ngModel?

最佳答案

简单 :3

请记住,创建子作用域 = 使用对 $parent 的引用 :)

<div ng-if='someCondition'>
    <span>In Wrapper</span>
    <input-directive ng-model='$parent.ngModel'></input-directive>
</div>

http://jsfiddle.net/5fmck/3/

//更新

据我所知,仅当 ngModel 是原始而非对象时,您才需要使用对 $parent 的引用。

关于javascript - 如何在 AngularJs 中通过多个指令与隔离范围绑定(bind) ngModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22953045/

相关文章:

javascript - 在 $watch 中使用 $apply

Angular2 版本 RC.6 "directives"inside @Component Error

angularjs - Angular 中的面包屑导航

javascript - 如何检查本地存储中是否已存在项目/值

javascript - 使用 jQuery 禁用页面上的所有内容。破解我的代码

javascript - 如何将带有本地数据的组合框添加到kendo网格列模板

angularjs - 当日历被 ng-show 隐藏时,如何更新 angularjs fullcalendar

javascript - setInterval 内的 setTimeout 循环

javascript - "ng-repeat"中的 AngularJS 不同过滤方法不起作用

javascript - Angular 指令模板不绑定(bind)到 Angular Controller 变量