0
我試圖創建一個簡單的界面,左邊的鏈接列表中,從AJAX調用中檢索,點擊時,打開一個{{outlet }}向右移動一些數據,並從該鏈接的另一個AJAX調用中檢索。因此,這些都是我的路線:EmberJS linkTo嵌套的資源重新呈現父視圖
App.Router.map(function() {
this.resource('about');
this.resource('subreddit', { path: 'subreddit/:subreddit_name' }, function() {
this.resource('comments', { path: 'comments/:id' })
});
});
所以我有鏈接的動態列表,基於:用以下結構subreddit_name:
subreddit/:subreddit_name/comments/:id
要創建我有以下的代碼塊鏈接:
<script type="text/x-handlebars" id="subreddit">
<div>
{{#each item in model}}
{{#linkTo 'comments' item.subreddit item.id classNames="list-group-item"}}
<img class="media-object" {{bindAttr src="item.thumbnail"}} class="img-rounded">
{{item.author}}
{{/linkTo}}
{{/each}}
</div>
<div>{{outlet}}</div>
</script>
該鏈接已正確更正,但是,在將subreddit_name動態路由插入路由器後,單擊鏈接時,它會重新呈現整個模板,而不是重新呈現onl Y代表的意見模板:
<script type="text/x-handlebars" id="comments">
{{#each item in model}}
<div class="panel panel-info mypanel">
<div class="panel-heading">{{item.author}}</div>
<div class="panel-body">
<p>{{{item.body}}}</p>
</div>
</div>
{{/each}}
</script>
我仍然在EmberJS漂亮的綠色,這就是爲什麼我想請教一些建議/ commment上出來糾正。
在此先感謝!
試圖通過** **僅在模型作爲'link-to'幫助器中的參數,而不是父模型和id。像這樣:'subreddit'模板中的{{#linkTo'評論'item}}' – edpaez
它的工作原理..差不多!問題是,當我點擊鏈接時,它會檢索正確的註釋,但URL是:「index.html#/ subreddit/undefined/comments/1t0gwe」,其中'undefined'應該是subreddit的名稱 – josetapadas
問題是沒有人講述它將被使用的模型是「SubredditRoute」。它的未定義的ATM,這就是爲什麼當它試圖序列化(改變網址)它顯示「未定義」。我認爲你應該做的是有一條路徑來處理和顯示所有的subreddits,然後處理一個subreddit(顯示鏈接到評論),然後是評論。 **編輯**我有我的懷疑...嘗試使用你的第一個'鏈接到'方法,但看看這種方法:http://emberjs.com/api/classes/Ember.Route。 html#method_serialize – edpaez