javascript - Ember.js/ Handlebars : views rendered using {{view}} helper not binding attributes

标签 javascript ember.js handlebars.js

我对 Ember/Handlebars View 有一个神秘的问题。我正在尝试在 Handlebars View 中实现非常简单的数据绑定(bind)。当通过执行以下操作渲染我的 View 时,这可以正常工作:

Ember.Views.NavView.create().append()

但是当我尝试使用 {{view}} 帮助器渲染同一 View 的另一个实例时,不会显示绑定(bind)属性,如下所示:

<script type="text/x-handlebars">
    {{view App.Views.NavView}}
</script>

在第一种情况下,属性(在该测试用例的 View 上硬编码)正确显示。在第二种情况下,我得到“metamorph-0-start”和“metamorph-0-end”标签,但值本身未呈现。

我已经设置了一个 JSFiddle ( http://jsfiddle.net/XUyht/2/ ) 来清楚地说明问题。

您会看到我已渲染 View 两次:第一次使用 {{view}} 帮助器,第二次使用append() - 但属性“working”仅在后一种情况下显示。

这是怎么回事?

最佳答案

我不知道为什么你需要这种模板的实现,但无论如何,从 1.0-pre 开始, View 的默认上下文要么是它的 Controller ,要么是它的父 View 。因此,在您的情况下,如果您将 tmp.foo 替换为 view.tmp.foo,这是有效的。

参见http://jsfiddle.net/Sly7/amLfk/

关于javascript - Ember.js/ Handlebars : views rendered using {{view}} helper not binding attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12068880/

相关文章:

javascript - 导出默认路由; NodeJS 中的语法错误

javascript - 从应用程序外部更新 Vue 数据的最佳方法是什么?

ember.js - 向 EmberJS 中的应用程序 Controller 发送操作

javascript - 如何使用 ember-rest Controller 来处理 Rails3 嵌套资源?

php - 使用 Php、IOS、Android 的 Handlebars

javascript - 我如何在前端js变量中使用 Handlebars 数据

javascript - Ember App 默认滚动到页面中间

javascript - 无法使用 View 路由器解析异步组件渲染

javascript - Google Places Autocomplete 没有出现

javascript - 如何使我的 JavaScript 代码无法被其他人使用?