我无法从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()
还有其他人看过这个问题吗?