0

我是 ember 的新手......我能找到的所有与 JSON 相关的东西都在使用 ember-data,我不会使用它(我们有一个 xml 而不是 REST api)。

我现在要做的就是将我的 sideNav.json 数据加载到我的应用程序模板中。

sideNav.json:

[
    {
        "label": "Overview",
        "pageClass": "nav-home",
        "iconClass": "icon-overview",
        "link": "index.html"
    }, {
        "label": "Total Energy",
        "pageClass": "nav-totalEnergy",
        "iconClass": "icon-meter",
        "link": "totalEnergy.html"
    }
]

模板:

<script type="text/x-handlebars" data-template-name="application">
    <div id="sideNav">  
        <ul>
            {{#each model}}
            <li {{bindAttr href="link"}}>
                <a {{bindAttr class="pageClass"}}>
                    <i {{bindAttr class="iconClass"}}></i><p>{{label}}</p>
                </a>
            </li>
            {{/each}}
        </ul>
    </div>
</script>

目前,我正在像这样进行这项工作:

App.ApplicationRoute = Ember.Route.extend({
  model: function() {
    return [
      {
        label: "Overview",
        pageClass: "nav-home",
        iconClass: "icon-overview",
        link: "index.html"
      },
      {
        label: "Total Energy",
        pageClass: "nav-totalEnergy",
        iconClass: "icon-meter",
        link: "totalEnergy.html"
      }
    ];
  }
});

但我想将这些数据保存在单独的 JSON 文件中,我正在考虑只使用 $.ajax() 来获取数据,但我认为这不是最好的方法。

谢谢

4

1 回答 1

0

它只是静态数据,还是您打算调用服务器?如果该静态 json 文件是您无法修改的,请使用 Ember.$.ajax()。如果可以修改json文件,只要改成js文件,包含在页面中,做成这样……

 App.SideNavFixture = [
   {
    "label": "Overview",
    "pageClass": "nav-home",
    "iconClass": "icon-overview",
    "link": "index.html"
   }, {
    "label": "Total Energy",
    "pageClass": "nav-totalEnergy",
    "iconClass": "icon-meter",
    "link": "totalEnergy.html"
   }
 ];

 App.ApplicationRoute = Ember.Route.extend({
   model: function() {
     return App.SideNavFixture;
   }
 });
于 2013-08-09T01:17:46.517 回答