Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
Templates 使用emberjs将模型绑定到模板_Templates_Ember.js_Render - Fatal编程技术网

Templates 使用emberjs将模型绑定到模板

Templates 使用emberjs将模型绑定到模板,templates,ember.js,render,Templates,Ember.js,Render,我将使用emberjs将模型绑定到模板 <script type="text/x-handlebars" id="dashboard"> <div> <span>this is user list</span> <div> {{render userinfo userinfo}} </div> </div> </scri

我将使用emberjs将模型绑定到模板

<script type="text/x-handlebars" id="dashboard">
    <div>
        <span>this is user list</span>
        <div>
            {{render userinfo userinfo}}
        </div>
    </div>
</script>

<script type="text/x-handlebars" id="_userinfo">
   {{#each model}}
   <span>{{user}}
   {{/each}}
</script>

App.Userinfo= DS.Model.extend({
    user: DS.attr("string")
});

App.Userinfo.FIXTURES = [
    {user:"user1"},
    {user:"user2"},
    {user:"user3"}
];

App.UserinfoView= Ember.View.extend({
});

App.UserinfoController = Ember.ObjectController.extend({   
});


App.Router.map(function() {
    this.resource('dashboard', {path: '/dashboard'}, function() {
    });
});

App.DashboardRoute = Ember.Route.extend({
    renderTemplate: function() {
        this.render('dashboard', {      // the template to render
          controller: 'dashboard'       // the controller to use for the template
        }); 
    }
});

App.DashboardController = Ember.ObjectController.extend({ 
});

这是用户列表
{{render userinfo userinfo}}
{{{#每个模型}
{{user}}
{{/每个}}
App.Userinfo=DS.Model.extend({
用户:DS.attr(“字符串”)
});
App.Userinfo.FIXTURES=[
{user:“user1”},
{user:“user2”},
{用户:“用户3”}
];
App.UserinfoView=Ember.View.extend({
});
App.UserinfoController=Ember.ObjectController.extend({
});
App.Router.map(函数(){
this.resource('dashboard',{path:'/dashboard'},function(){
});
});
App.DashboardRoute=Ember.Route.extend({
renderTemplate:function(){
this.render('dashboard',{//要呈现的模板
控制器:“dashboard”//用于模板的控制器
}); 
}
});
App.DashboardController=Ember.ObjectController.extend({
});
当我转到/#/dashboard时,将加载仪表板模板。
在这里,我呈现了userinfo。 我想将Userinfo模型绑定到usersinfo模板,以便显示所有用户。
请帮帮我。

简称:这里有一张工作票

long:您的代码中有一些不必要的内容,基本上就是这样做的:

首先,您没有重定向到您的
仪表板
路线,因为这是您唯一的路线(至少从您的代码中可以看到),我们在输入
索引
路线后直接重定向到它

App.IndexRoute = Ember.Route.extend({
  redirect: function() {
    this.transitionTo('dashboard');
  }
});
我已删除
仪表板控制器
,因为无需执行任何操作。 然后,您的
仪表板路线
缺少
模型
挂钩,无法为您的
仪表板
模板提供实际数据

App.DashboardRoute = Ember.Route.extend({
  model: function(){
    return App.Userinfo.find();
  }
});
在路由器映射中,如果URL与您的模板名称相同,则不需要定义
路径
,在您的情况下,它与
仪表板

App.Router.map(function() {
  this.resource('dashboard');
});
userinfo模型是正确的

App.Userinfo= DS.Model.extend({
  user: DS.attr("string")
});
但是您的设备缺少
id

App.Userinfo.FIXTURES = [
  {id:1, user:"user1"},
  {id:2, user:"user2"},
  {id:3, user:"user3"}
];
此外,如果将
呈现
帮助程序与
部分
模板
\u userinfo
一起使用,则呈现
部分
的正确方法如下

{{partial userinfo}}
正如您所见,我们不会向它传递任何附加参数,因为数据将通过
模型
挂钩提供。
partial
helper使用上下文和模板中提供的数据,在您的例子中是
dashboard
模板,因此需要
model
钩子


希望有帮助。

嗨,谢谢。然后,当我点击登录按钮时,我必须进入仪表板。所以我想我不必使用像transitiono这样的函数。那时候我现在该怎么办?