Angularjs ngDisabled 比较表达式未正确评估
Posted
技术标签:
【中文标题】Angularjs ngDisabled 比较表达式未正确评估【英文标题】:Angularjs ngDisabled comparison expression not evaluating correctly 【发布时间】:2014-08-05 02:49:06 【问题描述】:我试图根据两个文本字段的比较结果是真还是假,在 angularjs 应用程序中启用或禁用按钮。我在下面提供了示例代码,并在http://plnkr.co/edit/rzly8hy21048YGzsx2gW?p=previewhttp://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';
);
【问题讨论】:
【参考方案1】:删除您的 ng-disabled 属性周围的卷曲。
【讨论】:
感觉自己像个白痴,已经修补了一段时间并实际添加了它们。工作完美无瑕!【参考方案2】:这是它为您的 plunk 工作的方式:
<input type="button" value="Continue" ng-disabled="startertext != inputfield">
不要忘记删除控制器中多余的 curlie(当我在编辑器中打开它时,会出现错误标记)。
【讨论】:
以上是关于Angularjs ngDisabled 比较表达式未正确评估的主要内容,如果未能解决你的问题,请参考以下文章