1
我使用strongloop構建我的api。 在特定的路線上,查詢包括模型的關係。我收到了一些我想要安排的對象。 在這個特定的排列功能中,我面臨以下問題。 函數接收名爲「item」的對象,其中包含「trans」字段(該字段是另一個對象的數組)。 這段代碼:JSON.stringify與直接訪問對象屬性不同,strongloop
console.log(JSON.stringify(item, null, 2));
會產生這樣的結果:
{
"id": 1,
"created": "2015-08-19T21:04:16.000Z",
"updated": null,
"authorid": 0,
"likes": 0,
"shares": 0,
"fav": 0,
"validated": 0,
"comments": 0,
"trans": [
{
"text": "Première question en français",
"questionId": 1
}
],
"answers": [
{
"id": 1,
"questionid": 1,
"questionId": 1,
"trans": [
{
"text": "q1 : reponse 1 en francais",
"answerId": 1
}
]
},
{
"id": 2,
"questionid": 1,
"questionId": 1,
"trans": [
{
"text": "q1 : reponse 2 en francais",
"answerId": 2
}
]
}
]
}
這個問題是當我試圖達到這個部分:
item.trans[0].text
控制檯說:「item.trans是undpined「當我嘗試這段代碼:
console.log(item.trans);
我有這樣的結果:
function (condOrRefresh, options, cb) {
if (arguments.length === 0) {
if (typeof f.value === 'function') {
return f.value(self);
} else if (self.__cachedRelations) {
return self.__cachedRelations[name];
}
} else {
if (typeof condOrRefresh === 'function'
&& options === undefined && cb === undefined) {
// customer.orders(cb)
cb = condOrRefresh;
options = {};
condOrRefresh = undefined;
} else if (typeof options === 'function' && cb === undefined) {
// customer.orders(condOrRefresh, cb);
cb = options;
options = {};
}
options = options || {}
// Check if there is a through model
// see https://github.com/strongloop/loopback/issues/1076
if (f._scope.collect &&
condOrRefresh !== null && typeof condOrRefresh === 'object') {
//extract the paging filters to the through model
['limit','offset','skip','order'].forEach(function(pagerFilter){
if(typeof(condOrRefresh[pagerFilter]) !== 'undefined'){
f._scope[pagerFilter] = condOrRefresh[pagerFilter];
delete condOrRefresh[pagerFilter];
}
});
// Adjust the include so that the condition will be applied to
// the target model
f._scope.include = {
relation: f._scope.collect,
scope: condOrRefresh
};
condOrRefresh = {};
}
return definition.related(self, f._scope, condOrRefresh, options, cb);
}
}
我怎麼能簡單地訪問在這種情況下,「反式」屬性來獲取裏面的文本? (不是很容易在js) 在此先感謝。
嗨, 非常感謝!這工作。在找到更有效的解決方案之前,我會將其用作臨時解決方案。 – valvince
@valvince你找到了更好的解決方案嗎? – Casy