我有一個按鈕,需要根據用戶是否已在html頁面中輸入值來控制。從angular.js中的控制器啓用禁用按鈕
我已經將模型綁定到文本字段,並在$ scope上設置了禁用變量,該變量在輸入字段模型的值上啓用/禁用。
下面是HTML
<!--This button should be disabled if no value is enterd in both the field-->
<input type='button' value='click' ng-disabled='disabled'>
<br>
<input type="text" ng-model="first">
<br>
<input type="text" ng-model='last'>
這裏是correponding角控制器。
angular.module('app', []).controller('myController', function($scope) {
$scope.disabled = !$scope.first || !$scope.last;
})
它運行的第一次,但後來不修改的基礎上後來的修改。
根據我的理解,angular使用雙向綁定,所以如果我在視圖上修改任何內容,它應該反映在控制器上,然後控制器上任何更改都應該反映在視圖上。 我在這裏做什麼錯?我不想使用表格
我想避免文本輸入字段上的onChange事件。
請參考普拉克 http://plnkr.co/edit/L5wkcpNzMMBZxtcitJwk?p=preview
感謝給予適當的解釋。我確信ng-change將按照其他答案中的建議工作,但這將是我會尋找的最後一招。 – Pankaj
@Pankaj如果你需要在變化事件上做其他事情,那麼你可以考慮與Sajeetharan的答案一起去。但對於你的簡單情況,我寧願不必爲控制器添加額外的邏輯。 –
通過這種方法可以說我有n個字段,而不是第一個和最後一個,所以它會爲ng-disabled加上一個冗長的表達式,是否有一個很好的乾淨的方法來實現這個? 再次ng-change是最後的手段 – Pankaj