2013-07-13 91 views
1

我要綁定模型emberjs綁定模型與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({ 
}); 

當我去/#/儀表板模板的模板,模板的儀表板被加載。
在這裏,我提供了用戶信息。 我想將Userinfo Model綁定到usersinfo模板,以便顯示所有用戶。 請幫助我。

回答

3

短:這裏工作jsbin.

長:你哈得稍微多不必要的代碼中的事,基本上是這樣做的工作:

首先你有沒有重定向到您的dashboard路由,因爲它是您唯一的路由(至少從我的代碼中可以看到),我們在輸入index路由後直接重定向到它

App.IndexRoute = Ember.Route.extend({ 
    redirect: function() { 
    this.transitionTo('dashboard'); 
    } 
}); 

我已經刪除了DashboardController,因爲沒有什麼可做的事情。 然後你DashboardRoute失蹤的model鉤您dashboard模板

App.DashboardRoute = Ember.Route.extend({ 
    model: function(){ 
    return App.Userinfo.find(); 
    } 
}); 

在路由器映射到實際提供的數據,你並不需要定義一個path如果URL是相同的名稱作爲您的模板名稱的情況下,它是同dashboard

App.Router.map(function() { 
    this.resource('dashboard'); 
}); 

的用戶信息模型是正確的

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"} 
]; 

而且你在哪裏使用render助手用partial模板_userinfo正確的方式來呈現partial是這個

{{partial userinfo}} 

正如你可以看到我們不不會傳遞任何附加參數,因爲數據將通過您的model掛鉤提供。 partial幫助程序使用上下文和呈現在其中的模板中提供的數據,在您的情況下dashboard模板,因此model掛鉤是必要的。

希望它有幫助。

+0

嗨,謝謝。然後當我點擊登錄按鈕時我必須去儀表板。所以我認爲我沒有使用像transitionTo這樣的函數。那時我該怎麼辦? –