0

我无法从 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()

有没有其他人看到这个问题?

4

0 回答 0