Javascript angularjs将同一个侦听器绑定到不同的输入,如何获取输入值
我有几个绑定到不同模型字段的输入,如Javascript angularjs将同一个侦听器绑定到不同的输入,如何获取输入值,javascript,angularjs,Javascript,Angularjs,我有几个绑定到不同模型字段的输入,如model.a和model.b,我需要向服务器发送请求以获取自动完成的数据。因此,两者的逻辑是相同的。 我想为每个添加ng change=“changeHandler()”指令。但是在changeHandler()中,我需要获取输入值-如何正确地实现这一点?我不能只接受某个模型字段,因为这两个字段的代码相同。将模型名称作为参数传递到change函数中: <input type='text' ng-model='testinput' ng-change='
model.a
和model.b
,我需要向服务器发送请求以获取自动完成的数据。因此,两者的逻辑是相同的。
我想为每个添加
ng change=“changeHandler()”
指令。但是在changeHandler()
中,我需要获取输入值-如何正确地实现这一点?我不能只接受某个模型字段,因为这两个字段的代码相同。将模型名称作为参数传递到change函数中:
<input type='text' ng-model='testinput' ng-change='changeHandler(testinput)'/>
将模型名称作为参数传递到更改函数中:
<input type='text' ng-model='testinput' ng-change='changeHandler(testinput)'/>
您可以将这一切封装在一个指令中,该指令将访问scope.model.a,或者您可以这样做:
ng change=“chanageHandler(model.a)”ng model=“model.a”
您可以将这一切封装在一个指令中,该指令将访问scope.model.a,或者您可以这样做:
ng change=“chanageHandler(model.a)”ng model=“model.a”
如果您想在每次更改时都不启动web API,那么您必须变得更复杂一些
在model.a
或model.b
上设置$watch(或两者都设置)
在$watch处理程序中,通过承诺获取自动完成结果,看起来有点像这样:
myModule.factory('HelloWorld', function($q, $timeout) {
var getMessages = function() {
var deferred = $q.defer();
$timeout(function() {
deferred.resolve(['Hello', 'world!']);
}, 2000);
return deferred.promise;
};
return {
getMessages: getMessages
};
});
// from: http://markdalgleish.com/2013/06/using-promises-in-angularjs-views/
然后将自动完成绑定到承诺的结果
您还需要取消您的更改,因此此帖子可能会有所帮助:
我认为这篇博文可能会有所帮助:如果你想做到这一点,而不是在每次更改时都启动一个web API,那么你必须变得更复杂一些 在
model.a
或model.b
上设置$watch(或两者都设置)
在$watch处理程序中,通过承诺获取自动完成结果,看起来有点像这样:
myModule.factory('HelloWorld', function($q, $timeout) {
var getMessages = function() {
var deferred = $q.defer();
$timeout(function() {
deferred.resolve(['Hello', 'world!']);
}, 2000);
return deferred.promise;
};
return {
getMessages: getMessages
};
});
// from: http://markdalgleish.com/2013/06/using-promises-in-angularjs-views/
然后将自动完成绑定到承诺的结果
您还需要取消您的更改,因此此帖子可能会有所帮助:
我认为这篇博文可能会有帮助: