1

我有一个关于从特定模型加载 Ember 数据的问题。首先我必须指出我正在使用 require.js 来加载所有依赖项。我加载所有控制器、视图、路由,然后将它们添加到我的全局 Ember 应用程序中。此外,我有一个简单的模型,其中包含几个字段作为固定装置。

所以,第一次像App.MyModel.find().toArray().length响应我 0。但是当应用程序启动时,如果我尝试运行这句话,我会得到正确的值。

我试图找出最终执行的任何事件或方法(在控制器或路由中),但我没有得到它。我试图设置controller.contentatApp.ready没有成功的结果

有人可以帮我吗?

4

1 回答 1

1

我的解决方案是“修复集”:

  1. 我必须拆分 Ember 应用程序对象才能首先设置 的实例DS.Store,然后将“模型”添加到其中
  2. 在这个对象的第二部分,我添加了所有的控制器、视图、路由器等
  3. 最后,当我扩展DS.Store对象时,我必须设置属性simulateRemoteResponse: true

最终的 app.js 代码如下:

define(
    [ #dependencies ],

    function( #dependencies_objects ) {

        window.App = Ember.Application.create({
            VERSION: '1.0.0',
            LOG_TRANSITIONS: true,

            rootElement: '#app',

            // Store
            store: DS.Store.create({
                revision: 12,
                adapter : DS.FixtureAdapter.extend({
                    simulateRemoteResponse: false
                })
            }),

            // Models
            Item: Item  // Where Item is my own model
        });

        App.reopen({
            // Routes
            IndexRoute: IndexRoute,

            // Load routes
            Router: Router,

            // Controllers
            ApplicationController: Ember.Controller.extend(),
            IndexController: IndexController
        });

    }
);
于 2013-05-01T12:52:11.450 回答