Ember.js - Ember.js 车把内的视图有条件:视图未显示
Ember.js - Ember.Js View inside handlebars conditional: view not being displayed?
我在表格中有一个车把条件语句,里面我有一个视图。
如果我删除条件,则会显示视图模板。如果我删除视图模板,将显示直接的 html。但是,如果两者都存在,则永远不会显示视图模板,并且控制台中不会显示任何错误:
<script type="text/x-handlebars" data-template-name="application">
<table>
<tr>
<td>
<button {{action 'click_me'}}>Click me</button>
</td>
</tr>
{{#if controller.new_visible}}
{{#view App.MyView}}
<tr>
<td>
Hello!
</td>
</tr>
{{/view}}
{{/if}}
</table>
</script>
我做错了什么?
此外,似乎(从 http://emberjs.com/guides/understanding-ember/the-view-layer/,第 4 节)Ember 为 Handlebars 逻辑块助手(如 {{#if}}
、{{#unless}}
等)创建虚拟视图。它们不是常规视图层次结构的一部分,因此它们不能很好地与常规嵌套子视图配合使用。
我怀疑答案可以在这一行的某个地方找到:
"当传递给{{#if}}
或{{#with}}
的路径发生变化时,Ember会自动重新渲染虚拟视图,这将替换其内容,重要的是,销毁所有子视图以释放其内存。(来自上面链接的部分)。
我最好的猜测是{{#if}}
块在插入时重新渲染,这会破坏其中的"子"{{#view}}
块。
将您的
条件移动到视图中。 看这个 JS小提琴
{{#view App.MyView}}
{{#if controller.new_visible}}
<tr>
<td>
Hello!
</td>
</tr>
{{/if}}
{{/view}}
相关文章:
- angular.js没有'无法在PhoneGap中处理视图标记
- backbone.js无法渲染视图
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 删除移动视图粘性js上的粘性导航栏
- Backbone.js将模型绑定到视图时出错
- 如何在渲染视图时将变量传递给Node.js中的脚本标记
- Backbone.js视图中的多个模型
- 带有jquery插件的backbone.js视图
- node.js/javascript/couchdb视图到关联数组似乎不起作用
- 使用knockout.js将数组绑定到视图模型
- 如何在主干js中解析视图中的消息
- 似乎无法将功能绑定到骨干网中的视图.js
- 嵌套依赖主干.js具有 require.js 主干的视图.js导致视图作为对象而不是函数加载
- 如何在主干中显示视图.js(路由器.js中不显示警报)
- 如何从主干中的视图呈现视图.js
- Extjs 4 -停止控制器试图加载视图js
- “this.model"不工作的点击视图.JS支柱
- MVC部分视图js文件不工作调试
- Rails3视图- JS模板目录结构