gpt4 book ai didi

javascript - 将 itemController 与每个助手一起使用的 ember.js 无法按预期工作

转载 作者:行者123 更新时间:2023-11-30 06:28:44 24 4
gpt4 key购买 nike

我应该如何更改以下代码才能按预期工作,这样即使我完成了一个,也不会更改其他待办事项的完成度?

itemController="todo"声称将每个项目包装在自己的 Controller 中,但没有这样做。

index.html

    <script type="text/x-handlebars" id="todos">
<ul>
{{#each controller itemController="todo"}}
<li>{{#link-to 'todo' this}}{{job}} -- {{#if isCompleted}}Completed{{else}}Incomplete{{/if}}{{/link-to}}</li>
{{/each}}
</ul>
{{outlet}}
</script>
<script type="text/x-handlebars" id="todo">
<p>Job: {{job}} -- {{#if isCompleted}}Completed{{else}}Incomplete{{/if}}</p>
<button {{action 'complete' controller}}>Complete</button>
</script>

app.js

App = Ember.Application.create();

App.Router.map(function() {
this.resource('todos', function() {
this.resource('todo', { path: ':todo_id' })
});
});

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

App.TodosRoute = Ember.Route.extend({
model: function() {
return todos;
}
});

App.TodoRoute = Ember.Route.extend({
model: function(params) {
return todos.findBy('id', params.todos_id);
}
});

App.TodosController = Ember.ArrayController.extend({
});

App.TodoController = Ember.ObjectController.extend({
isCompleted: false,
actions: {
complete: function() {
this.set('isCompleted',true);
}
}
});

var todos = [{id: '1', job: 'running'}, {id: '2', job: 'swimming'}, {id: '3', job: 'study'}];

最佳答案

我相信你在混合东西

1 你在 App.TodosRoute 中有一个待办事项列表,每个都由自己的 Controller 支持,但在 App.TodoRoute 中你有另一个 todoController 实例,因为该属性在 Controller 级别,你正在查看设置的属性对于 Controller 的第 4 个实例,负责单例的 todoRoute。

您可以将属性移至模型,一切都会顺利进行。

App.TodoController = Ember.ObjectController.extend({

actions: {
complete: function() {
this.set('isCompleted',true);
}
}
});

var todos = [{id: '1', job: 'running',isCompleted: false}, {id: '2', job: 'swimming',isCompleted: false}, {id: '3', job: 'study',isCompleted: false}];

关于javascript - 将 itemController 与每个助手一起使用的 ember.js 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19363316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com