尝试使用angularJS和lodash使用.find()从JSON中查找特定对象
Trying to find a particular object from JSON using angularJS and lodash using .find()
这是控制器
.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;
});
这是Events
服务
.service('Events', function(mApi, mDomain) {
return {
getEvents: mApi.getData('/events/')
}
});
到目前为止,我能够进行http调用并获得所有事件。然而,我试图在控制器中特别完成的是来自迎面而来的数据,我只想要一个id与vm.EventId
匹配的事件。到目前为止,我得到一个未定义的错误,当我console.log(vm.event)
。我很感激任何帮助。我对角的理解是最近的,我不确定我是否使用.find()
正确。
不用担心在这里使用lodash——我们可以使用AngularJS过滤器。观察下面的简化示例。你可以从这里塑造你的工作副本…
// inject $filter
var items = [{'id': 1}, {'id': 2}, {'id': 3}];
var found = $filter('filter')(items, { id: 2 }, true); // { 'id': 2 }
JSFiddle Link - demo
解决了。我在服务器端添加了一个不同的路由,这将允许我使用附加的id进行http调用。此外,我还使用了不同的服务。这是新的服务
.service('Event', function(mApi,mDomain){
var getEvent = function(id){
return mApi.getData('/event/'+id);
};
return {
getEvent: getEvent
};
})
这是控制器。我进一步实现了map的特定属性。因此,它看起来会和我原来的帖子有很大的不同。
.controller('EventMapCtrl', function($scope, $stateParams, Event) {
var vm = this;
Event.getEvent($stateParams.id).then(function (res) {
vm.event = res.data;
vm.map = {
center: {
latitude: vm.event.location.latitude,
longitude: vm.event.location.longitude
},
zoom: 17
};
vm.marker = {
id: 1,
latitude: vm.event.location.latitude,
longitude: vm.event.location.longitude,
title: vm.event.location.name
}
});
vm.locationClicked = function (marker) {
window.location = "geo:" + marker.latitude + "," + marker.longitude + ";u=35";
};
$scope.vm = vm;
})
这是我想要完成的具体一行。
Event.getEvent($stateParams.id).then(function (res) {
vm.event = res.data;
相关文章:
- 带嵌套json的下划线js查找
- 通过知道对象的id在JSON中查找对象
- Javascript在JSON中查找对象(我使用Angular)
- 从json数组中查找满足条件的特定元素的值
- 在JSON文件中查找一个元素,并将其显示为HTML
- 在json对象中查找关键字中的值
- 使用捕获组查找和替换json字符串中出现的所有短语
- 使用underscore.js在深度嵌套的JSON中查找值
- Algo查找深度并在JSON数组中按顺序插入
- 遍历JSON以查找树路径
- 使用Javascript查找并更新嵌套JSON数组和对象中的所有键值
- JavaScript在JSON对象中查找属性
- Javascript:查找一个值在JSON中出现的次数
- 从Javascript中的JSON对象中查找键值
- 如何使用 jsonPath 或替代方案从 JSON 结构中的 childNode 中查找 parentNode
- 按初始或顶级值进行 JSON 查找
- 如何使用 JavaScript 和 JSON 查找组的所有叶子
- JavaScript JSON查找和删除
- 将外部json查找中的值映射到数组中,作为新的键/值对
- 嵌套JSON查找项