0
我創建了一個自定義指令,用於訪問表單的ID,以在相同驗證失敗時顯示消息。ng消息不會顯示在自定義指令中
指令代碼
<div>
<md-input-container>
<label class="inputLabel" translate>amount</label>
<input ng-model="order.amount" name="amount" type="text" required
max="availableAmount"
ng-disabled="disabled" ng-currency flex/>
<ng-messages flex for="dataForm.amount.$error" ng-if="dataForm.amount.$dirty">
<ng-message when="max">max reached</ng-message>
</ng-messages>
</md-input-container>
</div>
用法:
<form id="dataForm">
<custom-directive></custom-directive>
</form>
好像我無法訪問形式。或者angularmessage不能處理不同的範圍。
有沒有人有同樣的問題或想法? 謝謝
fyi .:我發現了下面的帖子,但我沒有想到我和那個人有同樣的問題。 angularjs ngMessages inside directive
我使用角1.4.8;消息1.4.8和角材料1.0.4
您的指令是否有隔離範圍? 「dataForm」對象位於指令的外部範圍內,所以如果你有一個獨立的範圍(你應該),它是不可訪問的。 Angular支持多種形式,所以你可以用你自己的形式包裝你的指令中的md-input-container。 –
是的,我使用隔離範圍。 謝謝,這是解決方案。 我用包裝了指令模板,一切都很好。 –
非常好,我也發佈了這個答案,以幫助將在未來搜索它的人。 –