我对 angularJS 很陌生。我想为我的一个文本框使用预输入,但是当我使用它时,它会出现该错误:
TypeError:无法在范围内调用未定义的方法“替换”。( http://XX.YY.ca/js/lib/ui-bootstrap.js:3426:32 ) 在 fnInvoke ( http://XX.YY.ca/js/lib/angular.js:10017:21 )在运营商处。| ( http://XX.YY.ca/js/lib/angular.js:9532:59 ) 在 Object.extend.constant [as get] ( http://XX.YY.ca/js/lib/angular. js:9962:14 ) 在 Scope.$digest ( http://XX.YY.ca/js/lib/angular.js:11800:40 ) 在 Scope.$apply ( http://XX.YY.ca/ js/lib/angular.js:12061:24)在 HTMLButtonElement。( http://XX.YY.ca/js/lib/angular.js:17839:21 ) 在 HTMLButtonElement.n.event.dispatch ( http://code.jquery.com/jquery-1.11.0.min. js:3:8066) 在 HTMLButtonElement.r.handle ( http://code.jquery.com/jquery-1.11.0.min.js:3:4767 )
我的代码与 angular-ui 网站上的代码基本相同。这里是:
标记:
<div class="modal-body">
<div class="form-group">
<input type="text" id="customer" autocomplete="off"
ng-model="nom" tabindex="0"
typeahead="customer.customerFirstName for customer in getCustomers($viewValue) | filter:$viewValue"
typeahead-wait-ms="300" typeahead-on-select="setId($item)"
typeahead-editable="false" class="form-control input-sm" placeholder="Customer" />
</div>
</div>
控制器:
[...]
$scope.getCustomers = function (val) {
return $http.get('/index.php/customers/get_customers_ajax', {
params: {val: val}
}).then(function (res) {
var customers = [];
angular.forEach(res.data, function (item) {
customers.push({
'customerID': item.customerID,
'customerFirstName': item.customerFirstName,
'customerLastName': item.customerLastName
})
})
console.log(customers);
return customers;
});
}
$scope.setID = function ($item) {
$scope.newOrder.customerID = $item.customerID;
Console.log($scope.newOrder.customerID);
}
});
后端响应:
[
{"CustomerID":"1","CustomerLastName":"Pan","CustomerFirstName":"Petter"},
{...}
]
我不知道我可以提供哪些附加信息,但如果有,请询问,我会发布!