Ng级不起作用

时间:2014-08-02 06:25:21

标签: angularjs

<div ng-controller="TestingCtrl">
    <input ng-class="{'fancy' :status}">
    <input ng-class="{'fancy' :status2}"> 
    <input type="button" value="change" ng-change="action()">
 </div>


.fancy{
  background:Yellow;
}

function TestingCtrl($scope) {

    $scope.status = true
    $scope.status2 = true

    $scope.action = function() {
        $scope.status = false
        $scope.status2 = false
    }

2 个答案:

答案 0 :(得分:2)

在按钮上使用ng-click而不是ng-change,它已经完成..还在控制器之前创建了一个角度应用程序..

var app = angular.module('myApp', []);

function testController($scope) {

$scope.status = true;
$scope.status2 = true;

$scope.action = function() {
    $scope.status = false
    $scope.status2 = false
}

}

,html就像这样

<div ng-controller="testController">

    <input ng-class="{'fancy' :status}">
    <input ng-class="{'fancy' :status2}"> 
    <input type="button" value="change" ng-click="action()">

</div>

答案 1 :(得分:2)

模型永远不会改变,因此永远不会调用ng-change。来自docs

“仅当输入值的更改导致将新值提交给模型时,才会评估ngChange表达式”

永远不会评估动作功能,因为没有针对该特定输入更改的ng模型。

如果你点击它可以工作,那么你可以切换背景颜色。

$scope.action = function(){
    $scope.status = !$scope.status
    $scope.status2 = !$scope.status2
}

http://jsfiddle.net/KYk2c/