我在 Framework7 中的api调用返回了数据 - material / Android - 我使用原型'each'函数循环它到目前为止一直很好......
alldata.awards.forEach(function ( item ) {
var linkToDetails = '<a href="detail.html?rec='+item+'&ctg='+item.catgicon+'" class="button button-fill"><b>VIEW RECORD</b></a>'
}
var detailpg = myapp.onPageInit('detail', function ( page )
{
$$('#results-card .facebook-avatar img').prop('src', page.query.ctg);
$$('#results-card .facebook-bname').html(page.query.rec.businessName);
}).trigger();
根据F7文档,我们可以通过被调用方法中的“page”对象访问查询字符串,因此:page.query.QueryKey
'page.query.ctg'输出'ctg'查询值ok,但由于'rec'持有一个完整的对象,我似乎无法访问属性值。当我控制台,记录它 - 获取[对象对象] - 无论我尝试什么,我无法获得对象内的数据。这是我试过的:
* console.log( page.query.rec.BusinessName ) // outputs nothing
* console.log( page.query.rec['BusinessName'] ) // outputs nothing
* console.log( page.query.rec[0]['BusinessName'] ) // outputs nothing
* console.log( page.query.rec ) // outputs [object object]
* console.log( page.query.rec[0] ) // outputs [
* console.log( JSON.stringify(page.query.rec) ) // outputs "[object object]"
我很难过 - 我可以将每个属性作为单独的查询字符串值传递,但是对象中有近40个项目因此不方便且不好练习。 它是Framework7的具体问题吗?或者我这样做是错的吗?
答案 0 :(得分:0)
假设page.query.ctg
是对象的id。
其中一种方法是将ctg
值传递给下一页,然后从数据库中获取对象的剩余数据。您可以利用.onPageInit
来调用提取功能。以下是使用axios
和.onPageInit
myApp.onPageInit('show_project', function (page) {
if (page.query != undefined && page.query.ctg != undefined){
axios.get("/data/" + page.query.ctg + ".json")
.then(function (response) {
console.log(response)
})
.catch(function (error) {
console.log(error)
})
}
})