Javascript AngularJs实现搜索功能
我正在做一个简单的网上汽车商店与平均堆栈。 我在数据库中有一些实体,现在我正在尝试实现搜索功能。我有一个带有搜索字段的页面。单击搜索按钮时,控制器中会调用一个函数,向发送选项对象的服务器发出post请求。服务器用正确的数据进行响应。问题是:搜索按钮调用搜索功能Javascript AngularJs实现搜索功能,javascript,angularjs,express,mean,Javascript,Angularjs,Express,Mean,我正在做一个简单的网上汽车商店与平均堆栈。 我在数据库中有一些实体,现在我正在尝试实现搜索功能。我有一个带有搜索字段的页面。单击搜索按钮时,控制器中会调用一个函数,向发送选项对象的服务器发出post请求。服务器用正确的数据进行响应。问题是:搜索按钮调用搜索功能 $scope.search = function(options) { console.dir(options); CarAdsService.searchByOptions(options) .then(function(cars)
$scope.search = function(options) {
console.dir(options);
CarAdsService.searchByOptions(options)
.then(function(cars) {
$scope.cars = cars;
}, function(err) {
console.log(err);
})
}
以及调用的服务函数:
searchByOptions: function(options) {
var deferred = $q.defer();
$http.post('/api/searchCars', {options: options})
.success(function(cars){
// when I log cars, the data is correct
deferred.resolve(cars);
})
.error(function(err){
deferred.reject(err);
});
return deferred.promise;
然后在我看来,我得到了这个:
tr(ng-repeat="car in cars")
td {{ car.brand.name }}
td {{ car.model.name }}
td {{ car.fuelType }}
td {{ car.gearBox }}
td {{ car.price | currency}}
td {{ car.year }}
它位于搜索菜单右侧的一个部分中,但不会得到更新。经过多次测试,$scope.cars对象设置正确,但视图未更新。我尝试调用$scope.$apply(),但它抛出$digest已经在运行的异常。
你能告诉我怎么解决这个问题吗?好吧,原来我是个白痴(5个小时的头撞在墙上)
响应是一个具有cars proeprty的对象,与数组相关。您是否尝试创建一个绑定到cars的
div
,以查看属性是否正确更新?是否确定视图在正确的范围内?您可能应该删除该问题,因为它对堆栈上的任何人都没有帮助!非常具体
CarAdsService.searchByOptions(options)
.then(function(cars) {
$scope.cars = cars.cars;