ember.js ember-cli不会从数据存储中的模型进行渲染

kwvwclae  于 2022-11-05  发布在  其他
关注(0)|答案(3)|浏览(161)

我正在使用ember cli和ember数据,并一直在拼凑信息,但它仍然不工作。这一切都涉及到家庭模型,路线和模板。我觉得我接近,但仍然没有雪茄。我把所有的东西,除了标题,以简化它。根据我读过的文档,一切都是因为它应该是。
这是我的app. js

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

Ember.MODEL_FACTORY_INJECTIONS = true;

var App = Ember.Application.extend({
  modulePrefix: config.modulePrefix,
  podModulePrefix: config.podModulePrefix,
  Resolver: Resolver
});

loadInitializers(App, config.modulePrefix);

export default App;

下面是我的家庭模型:

import DS from 'ember-data';

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

    Home.reopenClass({
    FIXTURES :[
    {
     id: 1,
     title: 'Sponge B',
    }, 

    {
    id: 2,
    title: 'John David',
    }, 

    ]
    });

这里是我回家的路线:

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

    export default  Ember.Route.extend({
         model: function(){
            return this.store.find('Home');
        },
    });

这是我的主页模板:

<div id="home"> 
    {{#each}}
    <p>{{title}}</p>
    {{/each}}
   </div>
   {{outlet}}

谁能帮帮我吗?
我认为这与我的模型挂钩有关。这可能也是一个控制器的问题。我生成了一个基本的控制器。我应该生成一个arrayController吗?。保存时home路由给我这个错误消息:模特/家.js:第9行,第1列,'Home'没有定义。但是当我定义它的时候仍然有一个问题。我是不是应该ad一个叫做adapters的文件夹,然后在里面放一个叫做application.js的文件,然后ad导出默认的DS.FixtureAdapter.extend();。但是,当我这样做时,它告诉我DS未定义

w8ntj3qf

w8ntj3qf1#

看起来您将模型显式导出为Home,然后尝试导出为不具有相同字母大小写的find('home')
Ember不会自动为您解决案例,如果您想使用Home作为模型,您将需要每次都以相同的方式调用它。
你甚至可能需要import Home from '../models/model-file';,如果你想从路线上调用它。
更简单的方法是使用隐式的export default Ember.Model.extend({}),让ember-cli使用您的文件名解析类。
http://www.ember-cli.com/#using-modules

5m1hhzi4

5m1hhzi42#

您的模板似乎有问题。您引用了一个不存在的item属性:

<div id="home">
    {{#each}}
    <p>{{title}}</p>
    {{/each}}
</div>

此外,您的模型还存在一些语法问题。请尝试以下操作:

import DS from 'ember-data';

var Home= DS.Model.extend({
  title         : DS.attr('string'),
});

Home.reopenClass({
  FIXTURES :[
    {
     id: 1,
     title: 'Sponge B',
    }, 

    {
    id: 2,
    title: 'John David',
    }, 
  ]
});
export default Home;
nzk0hqpo

nzk0hqpo3#

对于夹具适配器,您将application.js添加到adapters文件夹并从“ember-data”导入DS是正确的。
在Steve H的住宅模型示例中,FIXTURES的定义也不正确。请尝试使用:首页.夹具= [...];
请确保路径正确。

相关问题