我試圖$watch
$error
或$valid
控件的值。這是控制:
<form id="myForm" name="myForm">
<input name="myInput" ng-model="myInputMdl" business-validation/>
</form>
business-validation
是改變控制的有效性自定義指令。我已經嘗試以下方法(使用$valid
或$error
)基於什麼我在AngularJS directive watch validity閱讀:
這並不因爲
$valid
上工作myForm.myInput
不存在。$scope.$watch('myForm.myInput.$valid', function (isValid) { $scope.usefulVariable = step3.CreditCardNumber.$valid; },true);
這並不因爲
validity.valid
工作顯然不能觀看。$scope.$watch('myForm.myInput.validity.valid', function (isValid) { $scope.usefulVariable = step3.CreditCardNumber.$valid; },true);
這因爲
$scope.myInputMdl
不工作是不是看了每一個變化。$scope.$watch('$scope.myInputMdl', function (isValid) { $scope.usefulVariable = step3.CreditCardNumber.$valid; },true);
無法在有效期從控制器觀看?
編輯
我並不想編寫或編輯business-validation
指令。我想要的是從窗體的控制器到$watch
$valid
或$error
。
EDIT 2
控制器的代碼是:
app.controller('WizardBusinessActionCtrl',
function ($scope, $http, $parse, $filter, wizardBusinessActionService, $timeout) {
//controller code
}
);
第一種方法應該工作:http://plnkr.co/edit/LIJTj7gpz5A0yB917uxh?p=preview。你不需要真正的深入觀察 –
@NewDev你的方法是完美的,但如果我用一個輸入分配這個值,輸入不會被更新。 – JPCF
你指的是哪個輸入? –