编辑:事实证明这确实有效,它只是没有在检查器中显示“模型”属性后面的内容。我没有注意到它,因为我使用的那个特定数据点上没有内容。Facepalm感谢所有帮助过的人。
所以我试图通过创建一个非常详细的嵌套指令结构来简化我的表单结构。我正在使用非常基本的角度代码来实现这一点,但由于某种原因,使用父级的属性作为子指令属性的值不起作用(下面的代码解释,必须更改一些专有词,但它本质上相同)。我究竟做错了什么?
父 HTML 指令调用:
<field-label project-for="projectName" project-model="data.product.projectName">Project Name</field-label>
指令代码:
app.directive("fieldLabel", function() {
return {
restrict: "E",
transclude: true,
scope: { model: '=projectModel', for: '@projectFor' },
templateUrl: 'views/products/label.html',
};
});
编辑:根据请求,这里使用的另一个指令:
app.directive("projectOtherView", function() {
return {
restrict: "E",
scope: { field: '=projectOtherViewModel' },
templateUrl: 'views/products/XXX.html',
};
});
模板 HTML
<div class="col-sm-2 text-right">
<label for="{{for}}" class="control-label" ng-transclude></label>
<project-other-view project-other-view-model="model"></project-other-view>
</div>
'for' 工作正常,但 'model' 只通过自身,而不是它应该是什么(我在开始时通过的模型名称)。