編輯:事實證明,這實際上工作,它只是不顯示檢查器中的'模型'屬性後面的內容。我沒有注意到它,因爲我沒有使用特定數據點的內容。 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>
的「爲」工作正常,但「模型」只有通過本身,它應該不是(型號名稱我穿過開頭)。
project-other-view的代碼是什麼? – fabrizioM
我補充說,在雅。 – trudesign
它工作正常。如果您的產品/ XXX.html包含{{field}},它將顯示data.product.projectName的內容。不要擔心它仍然被稱爲模型,這是正確的。請參閱http://plnkr.co/edit/MsAHkTU3KLXWhpplWAPs?p=preview – Stevo