我試圖通過爲每個元素制定指令來縮短我的表單代碼,但是我的指令沒有顯示我傳遞給它的任何內容,並且模型沒有被綁定。Angular指令屬性沒有通過
HTML:
<formstring dataBinding="project.title" dataTitle="Title" dataPlaceholder="title" />
指令:
app.directive('formstring', function() {
return {
restrict: 'AEC',
dataBinding: '=',
dataTitle: '@dataTitle',
dataPlaceholder: '@dataPlaceholder',
dataHelp: '@dataHelp',
templateUrl: '/app/js/directives/form/string.html',
};
});
string.html:
<div class="form-group"> 2 <label for="{{dataTitle}}" class="col-sm-2 control-label">{{dataTitle}}</label >
<div class="col-sm-10">
<input type="text" class="form-control" id="{{dataTitle}}" placeholder="{{da taPlaceholder}}" ng-model="dataBinding">
<p ng-show="dataHelp" class="help-block">{{dataHelp}}</p>
</div>
</div>
項目是有一個屬性 '標題' 一個$ scope對象。
我錯過了什麼?爲什麼這會出現在沒有填入任何屬性的空白輸入中,爲什麼綁定不起作用?
你的建議沒有奏效。 –
請注意,來自每個屬性的前導'data-'將被Angular剝離,有關詳細信息,請參見[指令指南](http://docs.angularjs.org/guide/directive#matching-directives)。 – GregL
確保更改模板,以便引用不帶'data'前綴的範圍屬性(當然還有小寫)。 – GregL