我有一个带有 2 个对象模型的表单控制器 model1:{name:"foo"} model2:{name:"model2"} 我创建了 2 个指令(都创建了隔离范围)。一个使用 model1 的 Element only 绑定,另一个使用 model2 的 Attribute only 绑定。
嵌套是这样的:
<div myattibute="model2">
<mytag my-model="model"></mytag>
</div>
attribute only 指令没有模板,而 tag 指令有模板。
问题是我在模型的 mytag 指令中未定义。
1 . 有人能看到问题并在 plnkr 中解释吗?
http://plnkr.co/edit/Q23XqY?p=preview
部分解决方案: 一个工作示例添加一个空的 div 模板,只为 myattribute 指令添加 ng-transclude 使其工作。我要求这个属性指令在一个 div 上,我希望它可以放在任何 div、span 等上。这是工作示例: http ://plnkr.co/edit/z0M5ys?p=preview
2 .ng-transclude 是如何影响作用域继承的?
3 .我不能只用业务逻辑而不用任何标记来创建这个属性吗?