我有两个输入:input_1和input_2。我在input_1中键入了一些值,并在输入input_2时尝试访问它(使用input_1值作为自动完成输入_2)。
我已经创建了指令:
.directive('autoComplete', function($timeout) {
return function(scope, inputElement, inputAttrs) {
inputElement.autocomplete({
source: (function(){
var new_list = scope[inputAttrs.uiItems];
new_list.push(scope['input_one_value']);
return new_list
})(),
select: function() {
$timeout(function() {
inputElement.trigger('input');
}, 0);
}
});
};
});
但是使用这种方法在指令中我只能访问模型的初始值。我如何访问第一个输入的当前值?
答案 0 :(得分:0)
我认为你应该传递第一个输入值:
.directive('something', function () {
return {
require: ['model'],
scope: {
'model': '=', // Two way data binding
}
};
})
在模板中传递input1值,如下所示:
<some-tag model="model"></some-tag>
然后,您将通过范围访问指令内的模型,例如scope.model,它将与当前值同步。