Angularjs - ng-model undefined

时间:2014-02-10 01:47:35

标签: javascript angularjs angularjs-directive angularjs-scope

我正在构建一个相当复杂的指令,我需要访问模板中特定元素的ng-model,该元素包含在ng-if指令中......我有一个plunker以及如何解释看到问题如下。

在指令的.compile函数中,我有一行代码如下所示

ngModel = elm.find('textarea').controller('ngModel');
console.log(ngModel);

在我的模板中,我有类似的东西:

<div  ng-if="views.view">
    <textarea ng-model="exp.val"></textarea>
</div>

当我使用ng-show时,我的console.log会获得ng-model的对象,没问题......

但要求非常严格,我必须使用ng-if。当我使用ng-if时,我的控制台日志会未定义

问题的实际工作版本存在于此plunker

如果您将template.html中的第6行更改为ng - 如果您可以看到该行为。

当在ng-if中包含时,如何编写此行以检索模型。

ngModel = elm.find('textarea').controller('ngModel');

我也试过attach-if使用Simon Sparks指令。这个指令非常酷,它保留了与ng不同的范围 - 如果是这样,如果你特别需要不渲染HTML但是你需要保留范围,那么它很有用。

我仍然在调用ngModel时遇到同样的问题,但由于在指令中应用自定义过滤器,我必须以这种方式更新ng-model。

我离完成这个指令还有一步之遥。希望有人可以提供帮助。

0 个答案:

没有答案