我有button
,其中包含li
标记。
<li class="right"
ng-click="isError(locationForm.$invalid)"
ng-if="action == 'add'">
<button ng-disabled="locationForm.$invalid"
ng-click="addLocation(location)"
class="options active">Save
</button>
</li>
由于我无法获得disabled
按钮的onclick事件,因此我将其与li
包装在一起,点击后我计划通知用户该错误。
$scope.isError = function(error){
console.log(error);
if(error){
ngNotify.set('Your notification message goes here!');
}
}
但由于某种原因,当按钮为ng-click
时,li
标记上的disabled
不会被触发。不知道这里有什么问题。
答案 0 :(得分:1)
也许解决方案是将ng-disabled="locationForm.$invalid"
替换为ng-class={'disabled': locationForm.$invalid}
,然后替换为HTML:
<button ng-class="{'disabled': locationForm.$invalid}"
ng-click="addLocation(location, locationForm.$invalid)"
class="options active">Save
</button>
在JS中:
$scope.addLocation = function (location, error) {
if(error){
ngNotify.set('Your notification message goes here!');
return;
}
//rest stuff when no error
}
顺便说一句,你应该真的避免使用$scope
支持组件或至少controller as
语法,除非你真的必须(坚持使用Angular 1.2或遗留代码)。