我有一个由角度工厂构建的以下数据结构
tournois {
tournois { "tournois_id" = "1", "tournois_title"="test",etc..}
{ "tournois_id" = "2", "tournois_title"="test",etc..}
{etc.}
使用underscorejs ._find我无法设法使其基于tournois_id标准工作,我得到未定义意味着没有找到值。
有关正确语法的想法吗?
baclyApp.factory("tournois",function($http){
//Provider qui recupère la liste des tournois
var urlphp="http://localhost/cordova/mbacly/www/php/";
var tournois={};
$http.get(urlphp+"getTournois.php").success(function(data)
{
tournois.tournois = data;
})
return {
list: function(){
return tournois;
},
find: function(cid){
(tournois, function(tournoi){return tournois.tournois.tournois_id == cid});
}
}
})
使用
baclyApp.controller('detailtournoisCtrl', ['$scope','$stateParams', 'tournois', function($scope, $stateParams, tournois) {
$scope.selectedtournoi = tournois.find($stateParams.cid);
}]);
答案 0 :(得分:0)
您的服务功能应使用_.find
<强>工厂强>
baclyApp.factory("tournois", function($http) {
//Provider qui recupère la liste des tournois
var urlphp = "http://localhost/cordova/mbacly/www/php/";
var tournois = {};
$http.get(urlphp + "getTournois.php").success(function(data) {
tournois.tournois = data;
})
return {
list: function() {
return tournois;
},
find: function(cid) {
return _.find(tournois.tournoi,function(t) {
return t.tournois_id == cid;
});
}
}
})
答案 1 :(得分:0)
我假设您的数据结构类似于以下内容(基于您上面描述的内容)。
var tournois = {
"tournois":[
{"tournois_id":1,"tournois_title":"test"}
{"tournois_id":2,"tournois_title":"test"}
]
};
然后,您将以下列方式使用underscore.js中的_.find函数:
_.find(tournois.tournois, function(t) {return t.tournois_id === 1})
当然,您可以在return语句中删除它,并将最后的静态1替换为您的cid值,如下例所示:
return {
find: function(cid){
return _.find(tournois.tournois, function(t) {return t.tournois_id === cid});
}
}