我創建了一個燼演示,父視圖和它的孩子 這是父視圖灰燼模型不綁定使用動態鏈接到
<h1>A list of Todo Tasks</h1>
<ul>
{{#each model as |todo|}}
<li>{{#link-to "todos.details" todo}}{{todo.desc}}{{/link-to}}</li>
{{/each}}
</ul>
{{outlet}}
及其JS登錄是 進口灰燼從「餘燼」;
export default Ember.Route.extend({
model(){
return [{
"id" : 1,
"desc" : "Try use ember"
},
{
"id" : 2,
"desc" : "Add it to github"
},
];
}
});
但是當我使用的鏈接並瀏覽該數據並沒有顯示,除非我刷新 頁面這是孩子視圖
<h2>The Details for <span style="color: green;">{{model.name}}</span> is : </h2>
{{#if model.error}}
<p>{{model.message}}</p>
{{else}}
<ul>
{{#each model.steps as |task|}}
<li>{{task.do}}</li>
{{/each}}
</ul>
{{/if}}
{{outlet}}
和JS邏輯
import Ember from 'ember';
export default Ember.Route.extend({
model(params){
if(params.id == "1"){
return {
name : "Ember SetUp",
steps : [{
id :1,
do : "Download Ember Cli"
},
{
id :2,
do : "Generate New Project"
},
{
id :3,
do : "Generate Pages&Routes"
}
]
};
}
else{
return {
error : true,
name : "Not Found",
message : "There is no task with this id"
}
}
}
});
iam using ember 2.5 and this is part of the router
this.route('todos', function() {
this.route('details',{path : "/:id"});
});
感謝很多工作得很好,事情就是在這個vid中發送的對象確實執行了模型hook.What是什麼? https://egghead.io/lessons/javascript-define-models-for-routes-in-ember – abdoutelb
該教程很少有誤導性,實際上在該教程中'todos.show'顯示了'todos'模型而不是' todos.show'模型。因爲兩者都有相同的數據,所以我們無法找出區別..看看[this twiddle](https://ember-twiddle.com/43f8ffc356603943d46a26360451f0ac?openFiles=routes.todos.js%2C&route=% 2Ftodos%2F1)這證明了問題 – kumkanillam
我知道了,因爲本教程中的模型是相同的餘燼可以找出如何使模型掛鉤,如果不是我應該明確發送Id。 – abdoutelb