Angular JS表达式未评估

时间:2016-11-30 15:13:34

标签: angularjs

我编写了一个简单的Angular JS代码。我是初学者。但是,我的一个表达式没有得到评估。需要帮忙。请检查以下代码 -

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

    myAppModule.controller('myController', function($scope){
	    // Hide colors by default
	    $scope.isHidden = true;
	
	    // a function, placed into the scope, which
	    // can toggle the value of the isHidden variable
	    $scope.showHideColors = function () {
	    $scope.isHidden = !$scope.isHidden;
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
    <html ng-app="myAppModule">
      <head>
        <title>Angular JS</title>
	    <script src="js/angular.min.js"></script>
        <script src="js/myAppModule.js"></script>
	    <style>
		    body {
		        font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica,     Arial,     sans-serif;
		    }
		    div {
			    margin: 20px;
			    padding: 20px;
			    font-size: 16px;
			    color:#ffffff;
		    }
		    #red {
			    background-color: red;
		    }
		    #green {
			    background-color: green;
		    }
		    #blue {
			    background-color: blue;
		    }
		    #purple {
			    background-color: purple;
		    }
		    #gray {
			    background-color: gray;
		    }
		    #olive {
			    background-color: olive;
		    }
	    </style>	
      </head>
  
      <body ng-controller="myController">
		    <h2>AngularJS Socks</h2>
		    <p>Keep warm this winter with our 100% wool, 100% cool, AngularJS  socks!</p> 
		
		    <button ng-click="showHideColors()" type="button">
			    {{isHidden ? 'Show Available Colors' : 'Hide Available Colors'}}
		    </button>
		    <div id="red" ng-hide="isHidden">Red</div>
		    <div id="green" ng-hide="isHidden">Green</div>
		    <div id="blue" ng-hide="isHidden">Blue</div>
		    <div id="purple" ng-hide="isHidden">Purple</div>
		    <div id="gray" ng-hide="isHidden">Dark Slate Gray</div>
		    <div id="olive" ng-hide="isHidden">Olive</div>
      </body>
    </html>

表达式 - {{isHidden ? 'Show Available Colors' : 'Hide Available Colors'}}未获得评估,但在按钮上显示为原样。不知道我错过了什么。提前谢谢。

4 个答案:

答案 0 :(得分:2)

代码缺少结束括号。您可以在此处查看工作演示 - http://jsfiddle.net/me8j3zyc/

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

app.controller('myController', function($scope) {

  $scope.isHidden = true;

  // a function, placed into the scope, which
  // can toggle the value of the isHidden variable
  $scope.showHideColors = function() {
    $scope.isHidden = !$scope.isHidden;
  } // <- This is missing.
});

答案 1 :(得分:1)

这是因为你还没有关闭你的功能

myAppModule.controller('myController', function($scope){
    // Hide colors by default
    $scope.isHidden = true;

    // a function, placed into the scope, which
    // can toggle the value of the isHidden variable
    $scope.showHideColors = function() {
    $scope.isHidden = !$scope.isHidden;
}})

答案 2 :(得分:1)

您的表达式很好,但您的JS文件中有错字错误:

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

myAppModule.controller('myController', function($scope) {
    // Hide colors by default
    $scope.isHidden = true;

    // a function, placed into the scope, which
    // can toggle the value of the isHidden variable
    $scope.showHideColors = function() {
        $scope.isHidden = !$scope.isHidden;
    } //MISSING
});

答案 3 :(得分:-1)

你可以试试这个:

<button ng-if="isHidden" ng-click="showHideColors()" type="button">Show Available Colors</button>

<button ng-if="!isHidden" ng-click="showHideColors()" type="button">Hide Available Colors</button>