angular.js - angularjs factory 返回数组前台ionic不显示

浏览:36日期:2023-01-21

问题描述

刚接触ionic和angular:.factory(’Recos’, function() {

var recos=[ { recoid:0,cityname:'上海',cityintroduce:'',citytext:'',img:'', }, {recoid:1,cityname:'北京',cityintroduce:'',citytext:'',img:'', }, {recoid:2,cityname:'深圳',cityintroduce:'',citytext:'',img:'', }, {recoid:3,cityname:'',cityintroduce:'',citytext:'”。',img:'', }];return {allreco: function() {return recos; //标注},get: function(recoid) { for (var i = 0; i < recos.length; i++) { if (recos[i].recoid === parseInt(recoid)) { return recos[i]; } };},

};})

'//标注'的地方这样是正常的,但是改成return recos[0]或者recos[1]...前台调用就不显示数据,这是为什么呢~;因为想做一个简单的匹配功能:

return {

allreco: function() { var city = localStorage.city; for (var i = 0; i < recos.length; i++) { if (city.indexOf(recos[i].cityname) != -1){return recos[i]; } };},get: function(recoid) { for (var i = 0; i < recos.length; i++) { if (recos[i].recoid === parseInt(recoid)) { return recos[i]; } };},

};

碰到了这个问题,不知道其中原因。

问题解答

回答1:

allreco的意思应该是返回所有的reco,为什么会变成return recos[i],你是想返回所有在localStorage.city里面的reco吗?

allreco: function(){ var city = localStorage.city; var result=[] for (var i = 0; i < recos.length; i++) { if (city.indexOf(recos[i].cityname) != -1){ result.push(recos[i]); } }; return result;}

相关文章: