Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 如何在模板中使用模型数据?_Ember.js_Handlebars.js_Ember Model - Fatal编程技术网

Ember.js 如何在模板中使用模型数据?

Ember.js 如何在模板中使用模型数据?,ember.js,handlebars.js,ember-model,Ember.js,Handlebars.js,Ember Model,我已经使用ember model创建了FIXTURES,我试图在模板上访问它,但如果我使用{{model.name},它不会显示任何结果。它可以与每个助手一起正常工作 我想访问模型的单个节点,比如{{model.name},而不使用任何每个助手 我的型号代码: Astcart.Home.FIXTURES=[ { "id": "1", "logo_url": "img/logo.jpg", "name": "gau", "li

我已经使用
ember model
创建了
FIXTURES
,我试图在模板上访问它,但如果我使用
{{model.name}
,它不会显示任何结果。它可以与
每个
助手一起正常工作

我想访问模型的单个节点,比如
{{model.name}
,而不使用任何
每个
助手

我的型号代码:

Astcart.Home.FIXTURES=[
    {
        "id": "1",
        "logo_url": "img/logo.jpg",
        "name": "gau",
        "list": [
            {
                "id": "1",
                "name": "amit"
            },
            {
                "id": "2",
                "name": "amit1"
            }
        ]
    }
];
我的路由器代码:

  Astcart.HomeRoute = Ember.Route.extend({
    model: function() {
      return Astcart.Home.find();
    }
  });  
我的模板:

<script type="text/x-handlebars" data-template-name="home"> 

    {{model.name}}

    <ul>
        {{#each item in model}}                                         
            <img  {{bindAttr src="item.logo_url"}}></img>               
            <li>{{item.name}}</li>
            {{#each item in item.list}} 
                <li>{{item.name}}</li>
            {{/each}}               
        {{/each}}
    </ul>
</script>

{{model.name}
    {{{#模型中的每个项目}
  • {{item.name}
  • {{{#item.list}中的每个项
  • {{item.name}
  • {{/每个}} {{/每个}}

我已更新了我的代码

首先,您需要将模板名称更改为
索引
,或者将路由更改为
Astcart.ApplicationRoute
,因为模板名称和路由名称必须匹配

当前配置:

路线

模板

<script type="text/x-handlebars" data-template-name="application">
这将返回单个对象,然后您可以使用
{{model.name}
{{name}
(因为模板的上下文是
模型
),而不使用
每个
视图辅助对象

2-获取数组的第一个对象:

{{#with model.firstObject as item}}
    <img  {{bindAttr src="item.logo_url"}}></img>               
    {{item.name}}
{{/with}}
{{#以model.firstObject作为item}
{{item.name}
{{/与}}

我希望它能有所帮助

你能用不起作用的部分创建一个jsbin吗?@inuitivePixel:我已经在Rodrigues Correa更新了我的代码:但是如何处理同时包含数组和单值的对象?嗯,数组和单值?我不知道你的目标是什么,但我认为最好举个例子,比如:你有一个model
User
,它属于
UserProfile
(而不是Home),所以当你登录应用程序时,你会有一个已签名的用户和你的个人资料。因此,您将执行以下操作,而不是Home.find(user\u id):
model.userProfile.logo\u url
等。
Astcart.Home.find(1);
{{#with model.firstObject as item}}
    <img  {{bindAttr src="item.logo_url"}}></img>               
    {{item.name}}
{{/with}}