一旦使用 AngularJS 1.5.6 有效,有条件地更改所需输入的背景颜色的最有效方法是什么?根据我的理解和在线阅读的内容,我应该避免使用 $scope 而是使用 controllerAs。我将如何重构以下 AngularJS 代码以使用 controllerAs?
只有 CSS 和 HTML
HTML
<input id='textfield' placeholder='Search' required>
CSS
#textfield:valid {
background-color: green;
color: white;
}
使用 $scope
HTML
<div ng-app="myApp" ng-controller="testController">
<input type="text" ng-class="cssClass" ng-change="changeCssInput()" ng-model="text"/>
</div>
CSS
.input-green {
background-color: green;
color: white;
}
.input-red {
border: 3px solid red;
}
AngularJS
angular.module('myApp', []).
controller('testController', function ($scope)
{
$scope.text = '';
$scope.cssClass = 'input-red';
$scope.changeCssInput = function () {
$scope.cssClass = $scope.text.length <= 0 ? 'input-red' : 'input-green';
}
});