我有一个输入字段的指令,它使用嵌入来获取包含在包含ng-model
属性的指令元素中的元素。在阅读了无数的 SO 问题和 Angular 文档以了解如何ng-model
在嵌入的 html 中与ng-model
我的指令同步后,我终于偶然发现了一个让它工作的技巧。$parent
那就是使用ng-model
输入字段内的位置。这一切都很好而且很花哨,但是,它看起来很笨拙/笨拙。
Plunker 显示在这里: http ://plnkr.co/edit/gEje6Z2uuTs9DFPeCZfv
我试图通过在我的链接函数中搞乱嵌入函数来使它更优雅一点,如下所示:
```
var transcludedContent, transclusionScope;
transcludeFn(scope, function(clone, scope) {
//headerCtrl.$element.append(clone);
transcludedContent = clone;
transclusionScope = scope;
console.log('scope form: ', scope);
console.log('transclude form: ', clone);
});
```
此外,在这个 Plunker 中显示: http ://plnkr.co/edit/11k9LiA5hyi4xydWBo3H?p=preview
有人会认为嵌入函数将允许您用指令的范围覆盖嵌入范围,然后ng-model
属性将关联并绑定到指令范围,但事实并非如此。
虽然,$parent.<ng-model>
确实有效,但它看起来非常hackish,并且可能导致错误,例如如果我的指令未与account
未定义对象的父范围一起使用。