【问题标题】:How can I use DS.RESTAdapter with ember cli?如何将 DS.RESTAdapter 与 ember cli 一起使用?
【发布时间】:2014-07-23 16:45:00
【问题描述】:

我在 models/application.js 中创建了模型:

import DS from 'ember-data';

export default DS.Model.extend({
    name: DS.attr('string')
});

并在 adapters/application.js 中创建了适配器:

import Ember from "ember";
import DS from 'ember-data';

export default DS.RESTAdapter.extend({
    host: 'http://site.work/rest/v1/'
});

routes/application.js 中的路由:

import Ember from 'ember';
export default Ember.Route.extend({
    model: function () {
        return this.store.all('application');
});

templates/application.hbs 中的模板

{{#each item in model}}
<li>{{item.name}}</li>
{{/each}}

app.js

import Ember from 'ember';
import Resolver from 'ember/resolver';
import loadInitializers from 'ember/load-initializers';

Ember.MODEL_FACTORY_INJECTIONS = true;

var App = Ember.Application.extend({
  modulePrefix: 'chat', // TODO: loaded via config
  Resolver: Resolver
});

loadInitializers(App, 'chat');

export default App;

路由器.js

import Ember from 'ember';

var Router = Ember.Router.extend({
  location: ChatENV.locationType
});

Router.map(function() {
    this.route("application");
});

export default Router;

来自服务器的 JSON 示例:{"application":[{"id":"1","name":"qwe"},{"id":"2","name":"qwe2"}]}

但我的模型是空的,我在开发者工具中找不到任何 xhr 请求。

我应该如何在 Ember Cli 中使用 DS.RESTAdapter?

注意:当我将此行添加到路由器时,它可以工作:

this.store.push('application',{'id':5, 'name':'Is this a question?'});

【问题讨论】:

  • 那么,您是否在做任何会导致网络请求的事情?它们不是靠魔法发生的。
  • ember-cli 构建应用程序并应像本指南中那样自定义适配器emberjs.com/guides/models/customizing-adapters
  • 我要问的是,您是否定义了一个路由,该路由将请求一个实际发起网络请求的模型?
  • 是的,我有路由应用程序和线路返回 this.store.all('application');
  • this.store.all 不会提出任何请求。阅读手册。

标签: ember.js ember-data


【解决方案1】:

我不确定您的模型名称 (application) 是否会导致奇怪的行为,因为 ember(-cli) 也将此名称用作适配器、路由等内容的根。

除此之外,我将我的适配器定义如下:

import DS from 'ember-data';

export default DS.RESTAdapter.extend({
  namespace: 'rest/v1'
});

然后启动你的服务器:

ember server --proxy=http://site.work

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-03
    • 2014-09-13
    • 1970-01-01
    • 2016-03-20
    • 2015-08-01
    • 1970-01-01
    • 2014-08-26
    • 1970-01-01
    相关资源
    最近更新 更多