【问题标题】:Ember JS - Reference view inside linkToEmber JS - linkTo 内的参考视图
【发布时间】:2013-02-20 05:26:34
【问题描述】:

我对 Ember JS 感到困惑。首先,我必须承认我是一个 Ember 新手,如果这很明显,我深表歉意。

我有以下模板:

<script type="text/x-handlebars" data-template-name="threadListItem">
    {{#linkTo show thread.receiverLogin}}
        <h4>{{thread.receiver.login}}</h4>
        <span>{{view.prettyTime}}</span>
    {{/linkTo}}
</script>

基本上有一个 linkTo 助手,里面有一些元素。

奇怪的是 {{view.prettyTime}} 在 linkTo 中时不显示任何内容。

但是,如果我将 span 移到 linkTo 之外,它会发现视图变量正常并且可以正常工作。

是否可以访问 linkTo 中的视图对象?

【问题讨论】:

    标签: ember.js handlebars.js


    【解决方案1】:

    Christopher 是正确的,您可以通过以下方式访问 prettyTime 属性:

    {{view.parentView.prettyTime}}
    

    由于您是 ember 新手,可能值得一提的是,在大多数情况下,最好避免访问视图的属性。相反,请考虑将prettyTime 属性添加到您的控制器。控制器将是子视图的默认上下文,例如由 linkTo 帮助器创建的子视图,因此您只需

    即可访问它
    {{prettyTime}}
    

    【讨论】:

      【解决方案2】:

      linkTo 创建自己的视图,所以你要访问的视图是视图的父视图。

      {{view.parentView.prettyTime}}
      

      【讨论】:

      • 由于您是 ember 新手,可能值得一提的是,在大多数情况下最好避免访问视图的属性。相反,请考虑将 prettyTime 属性添加到您的控制器。控制器将是子视图的默认上下文,例如由 linkTo 助手创建的子视图,因此您只需 {{prettyTime}} 即可访问它。
      • 迈克尔你能把这个作为第二个答案。这当然是一个更“完整和正确”的答案,因为我的答案只是解决了 view.prettyTime 为什么为空的直接问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-01
      • 1970-01-01
      相关资源
      最近更新 更多