簡體   English   中英

Ember-JSON導入-不顯示模板內容

[英]Ember - JSON import - not displaying template content

我正在使用Ember CLI。

我有以下格式的JSON:

公共/資產/ data.json

{
  "important": [
    {
      "name": "first",
      "value": 10
    },
    {
      "name": "second",
      "value": 10
    },
    ...
  ],
  "unimportant1": {
    ...
  },
  "unimportant2": {
    ...
  }
  ...
}

我想導入"important"以便在模型中使用。 我嘗試了以下操作:

應用程序/路由/ important.js

import Ember from 'ember';

export default Ember.Route.extend({
  model() {
    return Ember.$.getJSON("/assets/data.json").important;
  }
});

控制台日志不顯示任何錯誤。

我想在"important"顯示項目。 我嘗試了以下操作:

應用程序/模板/ important.hbs

{{#each model as |important|}}
  <div>
    {{important.name}}{{important.value}}
  </div>
{{/each}}

但是,什么也不顯示。 如何顯示它們?

我注意到如果將數組復制並粘貼到return語句中,則各項將按預期顯示:

應用程序/路由/ 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"); 返回一個承諾,但Ember.$.getJSON("/assets/data.json").important; 沒有兌現承諾。 這只是一個undefined

在模型掛鈎中,只需返回promise:

model() {
  return Ember.$.getJSON("/assets/data.json");
}

然后在您的模板中,像這樣使用它:

{{#each model.important as |important|}}
  <div>
    {{important.name}}{{important.value}}
  </div>
{{/each}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM