Angularjs ngDisabled比较表达式未正确评估

时间:2014-06-14 20:29:53

标签: javascript angularjs button expression disabled-input

我试图在angularjs app中启用或禁用按钮,具体取决于两个文本字段的比较是评估为true还是false。我在下面提供了示例代码,并在此处提供了http://plnkr.co/edit/rzly8hy21048YGzsx2gW?p=preview

正如您所看到的,当您输入字符串以匹配存储的字符串时,表达式会正确评估,但按钮永远不可用。

任何帮助都将不胜感激。

这是HTML

    <!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.2.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js" data-semver="1.2.16"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <button ng-click="updateCounter()">Increment count</button>
    <input type="text" ng-model="inputfield">
    <input type="button" value="Continue" ng-disabled="{{inputfield !== startertext}}">
    <br>startertext: {{startertext}}
    <br>nputfield: {{inputfield}}
    <br>test: {{inputfield !== startertext}}

  </body>


</html>

Javascript文件在下面。

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

app.controller('MainCtrl', function($scope) {
  $scope.startertext = 'hello world';
});

2 个答案:

答案 0 :(得分:9)

删除ng-disabled属性周围的曲线。

答案 1 :(得分:5)

这是你的插件的工作方式:

<input type="button" value="Continue" ng-disabled="startertext != inputfield">

不要忘记删除控制器中的额外curlie(当我在编辑器中打开它时用错误标记标记)。