我无法从 Emblem 模板中的条件类绑定中获得一致的行为。该模板用于任务列表,相关代码段如下所示:
each task in content
tr.task class=task.completed:complete
td
a.completion{ action toggleTask task}
if task.completed
| ✔
else
span.larger ☐
所以这里的想法是,如果任务完成,整个表格行应该应用一个“完整”的 CSS 类。再往下一点,如果任务完成,它会显示一个复选标记而不是一个空复选框。(这一切都取决于评估 task.completed,它被定义为 Task 模型上的布尔属性。)
当您从应用程序的其他地方导航到相关路线 (tasks.index) 时,一切正常。但是当您直接加载此路由或重新加载页面时,不会评估类绑定,而稍微低一点的条件分支仍然可以正常工作。
我想知道这是否是异步模型加载的问题,通过 linkTo 输入路由与通过 Ember 中的页面加载之间的区别,或者只是徽章/车把模板评估中的怪异?似乎问题在于,在损坏的情况下,我的类绑定在模型完成加载后没有被正确地重新评估。
作为参考,我的路线定义如下:
App.TasksRoute = Ember.Route.extend
setupController: (controller, model) ->
@controllerFor('application').set 'currentRoute', 'tasks'
@controller.set 'content', model
App.TasksIndexRoute = App.TasksRoute.extend
model: (params) ->
App.Task.find()
有没有其他人看到这个问题?