2
想知道如何处理$parsers
中的异步函数。 以下代码不会更新范围。
我正在使用AngularJS 1.2,因此无法使用新的和花哨的1.3功能。
http://plnkr.co/edit/uk9VMipYNphzk8l7p9iZ?p=preview
标记:
<input type="text" name="test" ng-model="test" parse>
指令:
app.directive('parse', function($timeout) {
return {
require: 'ngModel',
link: function(scope, element, attrs, ctrl) {
ctrl.$parsers.unshift(function(viewValue) {
$timeout(function() {
return viewValue;
});
});
}
};
});
你能详细介绍一下你的场景吗?你可以调用$ setViewValue(value);模型控制器更新模型数据,但输入内容不变。 – Chandermani 2014-09-25 12:58:09
你不能那样做。你能否摆脱更多的背景? – PSL 2014-09-25 13:01:01
这是一个指令,用于对输入值的可用性进行异步查找。我基本上想从角度v1.3 $ asyncValidators,但我坚持与v1.2 :( 我有一个“解决方法”,但想知道如何正确处理这个问题:) 解决方法是刚刚返回viewValue无论如何。所以'function(viewValue){validatorAsync(viewValue);返回viewValue; }' – 2014-09-25 13:21:31