[英]Change value inside directive template and watch for changes
在我的指令模板內部,我ng-disabled
,當validationScope
更改時,我需要對其進行更改。
這是我的指令:
var addComment = {
link: link,
restrict: "E",
replace: true,
scope:{
validationScope:'@'
},
template: '<button type="submit" ng-disabled="validationScope" class="btn btn-default pull-right">Send</button>'
};
在我的html中,我這樣輸入:
<mydirective validation-scope="<%mainComment.mainTxt.$invalid%>"></mydirective>
即使mainComment.mainTxt.$invalid%
已更改,我的代碼也被ng-disabled
問題始終會true
...
另外,如果我在指令模板中這樣放置: {{validationScope}}
我可以看到值更改為:true / false ...
這樣做現在可能會起作用:
template:'<button type="submit" ng-disabled="{{validationScope}}" class="btn btn-default pull-right">Send</button>'
我認為這是Angular錯誤...
Probmel為<%mainComment.mainTxt.$invalid%>
mainComment.mainTxt <%mainComment.mainTxt.$invalid%>
將字符串'true'/'false'返回給指令...
我這樣解決:
在我添加的鏈接中:
scope.$watch('validationScope',function()
{
if(scope.validationScope === 'true')
{
scope.validationScope = true;
}
else if(scope.validationScope === 'false')
{
scope.validationScope = false;
}
});
我們還需要添加以下規則: transclude: true
以便我們可以從外部更改范圍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.