【发布时间】:2013-10-22 09:13:22
【问题描述】:
我有一个带有 2 个对象模型 model1:{name:"foo"} model2:{name:"model2"} 的表单控制器 我创建了 2 个指令(都创建了隔离范围)。一个带有仅使用模型1 的元素绑定,另一个带有仅使用模型2 的属性绑定。
嵌套是这样的:
<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.我不能只用业务逻辑而不用任何标记来创建这个属性吗? p>
【问题讨论】:
标签: javascript angularjs angularjs-directive