这是 Controller 。
.controller('EventMapCtrl', function($scope, $stateParams, Events) {
var vm = this;
vm.EventId = Number($stateParams.id);
Events.getEvents.then(function(data) {
vm.event = _.find(data, {id: vm.EventId});
console.log(vm.event);
});
$scope.vm = vm;
});
这是事件
服务
.service('Events', function(mApi, mDomain) {
return {
getEvents: mApi.getData('/events/')
}
});
到目前为止,我能够进行 http 调用并获取所有事件。然而,我试图在 Controller 中特别完成的是来自即将到来的数据,我只想要一个 id 与 vm.EventId 匹配的事件。到目前为止,当我 console.log(vm.event)
时,我收到了未定义的错误。我将不胜感激任何帮助。我对 Angular 的理解是最近才出现的,我不确定我是否正确使用了 .find()
。
最佳答案
使用lodash无忧在这里 - 我们可以使用 AngularJS Filter 。请观察以下简化示例。您可以从这里塑造您的工作副本...
// inject $filter
var items = [{'id': 1}, {'id': 2}, {'id': 3}];
var found = $filter('filter')(items, { id: 2 }, true); // { 'id': 2 }
JSFiddle Link - 演示
关于javascript - 尝试使用 angularJS 从 JSON 中查找特定对象,并使用 .find() 从 lodash 中查找特定对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33272812/