我面临如何将数组中的变量放入查询字符串的问题。过滤功能运行良好,但搜索功能不起作用。变量 id 从选定用户那里获取一个 id 很好,但下一个 vm.search 不做任何事情。我对 Angular 和 JS 也很陌生,所以也许我错过了一些非常简单的东西。我的代码如下所示:
(function () {
'use strict';
angular
.module('app.pil')
.controller('userListController', ctrl);
ctrl.$inject = ['$rootScope', 'users', 'pilService', 'notificator'];
function ctrl($rootScope, users, pilService, notificator) {
var vm = this;
vm.filter = function () {
vm.users = users;
vm.users = pilService.filter.query(vm.data);
};
vm.search = function () {
var id = vm.users[0].id;
vm.search= pilService.search.query(id);
}
}
})();
感谢您的任何想法!
pil服务代码:
(function () {
'use strict';
angular.module('app.pil').factory('pilService', service);
service.$inject = ['CONFIG', '$resource'];
function service(CONFIG, $resource) {
var users = $resource(CONFIG.API_END_POINT_URL + '/pil/api/pilot/clients', {}, {
query: {isArray: true},
update: {method: 'GET'}
});
var filter = $resource(CONFIG.API_END_POINT_URL + '/pil/api/pilot/clients/filter', {}, {
query: {isArray: true},
update: {method: 'GET'}
});
var search = $resource(CONFIG.API_END_POINT_URL + '/pil/api/pilot/clients/search', {}, {
query: {isArray: true},
update: {method: 'GET'}
});
return {users: users,
filter:filter,
search:search
}
}
})();
所以我以不是最好的方式解决了我的问题,但它有效。似乎问题是,id 以这种方式设置为字符串而不是数组。我将代码更改为:
vm.search = function (user) { vm.id = gpilotService.search.query(user); }
这样,FE 发送整个用户对象及其所有数组作为参数,而 BE 仅获取 ID。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句