假设用户输入输入或div满足时更新ng-model,如果我们想在每次用户输入某些字符串时触发事件,例如'我正在写某些东西'然后用户输入“某事“我想举办一场活动。
在不使用手表的情况下,哪种方法可以解决这个问题?
答案 0 :(得分:2)
按照评论中的说法,您可以执行以下操作:
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.error = false;
$scope.changed = function(input) {
$scope.error = input == 'foo' ? true : false;
}
}

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
<p>Don't type 'foo'</p>
<input type="text" ng-change="changed(input)" ng-model="input" />
<div ng-show="error">Gezz, you shouldn't</div>
</div>
&#13;
答案 1 :(得分:1)
这是一个基本概要。正则表达式只检查几个月,因此您必须将它们全部添加。对于像这样的输入字段:
<input type="text" id="dateval" ng-model="typeddate">
在您的控制器中执行以下操作:
$scope.typeddate = "";
$watch('typeddate',function(newVal,oldVal) {
var re = /jan|feb|mar|apr/i ;
var res = newVal.match(re);
if(res != null) {
// you have a match so do what you need to do
}
});