Ember - JSON 导入 - 不显示模板内容
Ember - JSON import - not displaying template content
我正在使用 Ember CLI。
我有一个 JSON 这种格式:
public/assets/data.json
{
"important": [
{
"name": "first",
"value": 10
},
{
"name": "second",
"value": 10
},
...
],
"unimportant1": {
...
},
"unimportant2": {
...
}
...
}
我想导入 "important"
以便在模型中使用。
我尝试了以下操作:
app/routes/important.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return Ember.$.getJSON("/assets/data.json").important;
}
});
控制台日志没有显示任何错误。
我想显示 "important"
中的项目。
我尝试了以下操作:
app/templates/important.hbs
{{#each model as |important|}}
<div>
{{important.name}}{{important.value}}
</div>
{{/each}}
但是,没有显示任何内容。我怎样才能让它们显示出来?
我注意到如果我将数组复制并粘贴到 return 语句中,项目会按预期显示:
app/routes/important.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return [
{
"name": "first",
"value": 10
},
{
"name": "second",
"value": 10
},
...
];
}
});
非常感谢任何帮助。
Ember.$.getJSON("/assets/data.json");
return 是承诺,但 Ember.$.getJSON("/assets/data.json").important;
不是 return 承诺。这只是一个 undefined
.
在你的模型挂钩中,只是 return 承诺:
model() {
return Ember.$.getJSON("/assets/data.json");
}
然后在您的模板中,像这样使用它:
{{#each model.important as |important|}}
<div>
{{important.name}}{{important.value}}
</div>
{{/each}}
我正在使用 Ember CLI。
我有一个 JSON 这种格式:
public/assets/data.json
{
"important": [
{
"name": "first",
"value": 10
},
{
"name": "second",
"value": 10
},
...
],
"unimportant1": {
...
},
"unimportant2": {
...
}
...
}
我想导入 "important"
以便在模型中使用。
我尝试了以下操作:
app/routes/important.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return Ember.$.getJSON("/assets/data.json").important;
}
});
控制台日志没有显示任何错误。
我想显示 "important"
中的项目。
我尝试了以下操作:
app/templates/important.hbs
{{#each model as |important|}}
<div>
{{important.name}}{{important.value}}
</div>
{{/each}}
但是,没有显示任何内容。我怎样才能让它们显示出来?
我注意到如果我将数组复制并粘贴到 return 语句中,项目会按预期显示:
app/routes/important.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return [
{
"name": "first",
"value": 10
},
{
"name": "second",
"value": 10
},
...
];
}
});
非常感谢任何帮助。
Ember.$.getJSON("/assets/data.json");
return 是承诺,但 Ember.$.getJSON("/assets/data.json").important;
不是 return 承诺。这只是一个 undefined
.
在你的模型挂钩中,只是 return 承诺:
model() {
return Ember.$.getJSON("/assets/data.json");
}
然后在您的模板中,像这样使用它:
{{#each model.important as |important|}}
<div>
{{important.name}}{{important.value}}
</div>
{{/each}}