Javascript angular中的$scope模型未更新自身
我一直在使用angular,问题是我把这个ng模型作为一个文本输入,同时我把它与这个自动完成指令一起使用,问题是我想改变输入值,一旦它从自动完成中选择了一些东西,但是当我需要的是描述时,我只放数字,问题是,当我把所有的数字都放进去的时候,它实际上改变了我想要的方式,有人能帮我吗,这就是代码 $scope.trail={Javascript angular中的$scope模型未更新自身,javascript,jquery,angularjs,autocomplete,Javascript,Jquery,Angularjs,Autocomplete,我一直在使用angular,问题是我把这个ng模型作为一个文本输入,同时我把它与这个自动完成指令一起使用,问题是我想改变输入值,一旦它从自动完成中选择了一些东西,但是当我需要的是描述时,我只放数字,问题是,当我把所有的数字都放进去的时候,它实际上改变了我想要的方式,有人能帮我吗,这就是代码 $scope.trail={ options: { minLength:2, html: true, source:"controllers/search.php?catalogo=t
options: {
minLength:2,
html: true,
source:"controllers/search.php?catalogo=trailers",
select: function(event, ui){
console.log(ui);
//$(this).val(ui.item.desc+' '+ui.item.clave).change();
$scope.formData.trailerid = ui.item.id;
$scope.formData.trailerclave = ui.item.clave;
$scope.formData.trailerdueno = ui.item.propietario;
$scope.formData.trailer = ui.item.desc;//+' '+ui.item.clave;
return false;
},
change: function (event, ui) {
if (ui.item == null) {
$scope.formData.trailerid = 0 ;
$scope.formData.trailerdueno = '';
$scope.formData.trailerclave = '';
$scope.formData.trailer = '';
}
}
},
methods: {}
}
还有html
<input type="text" class="form-control trailer" ng-model="formData.trailer" ui-autocomplete = "trailer" />
<span class="help-block">{{formData.trailer}}</span>
{{formData.trailer}
有时我发现,如果我使用的函数或事件是与Angular无关的外部插件的一部分,我需要将其中的任何内容包装在$scope中。$apply(function(){})
什么也没发生:(,您认为我必须在ui AutoComplete指令中添加吗?,或者有一种方法可以初始化控制器中的作用域?),谢谢您的回复,知道吗,显然问题出在更改函数中,我刚在开头添加了这个“$scope.formData.traile=ui.item.desc;”,非常感谢您的回答
options: {
minLength:2,
html: true,
source:"controllers/search.php?catalogo=trailers",
select: function(event, ui){
$scope.$apply(function(){
console.log(ui);
//$(this).val(ui.item.desc+' '+ui.item.clave).change();
$scope.formData.trailerid = ui.item.id;
$scope.formData.trailerclave = ui.item.clave;
$scope.formData.trailerdueno = ui.item.propietario;
$scope.formData.trailer = ui.item.desc;//+' '+ui.item.clave;
});
return false;
},
change: function (event, ui) {
if (ui.item == null) {
$scope.$apply(function(){
$scope.formData.trailerid = 0 ;
$scope.formData.trailerdueno = '';
$scope.formData.trailerclave = '';
$scope.formData.trailer = '';
});
}
}
},
methods: {}
}