我有一个视图模板'person'定义为:
....
{{input type="checkbox" checked=isEditing}}
<table><tbody>
{{#if 'isEditing'}}
<tr><td><strong>Id</strong></td>{{id}}</td></tr>
<tr><td><strong>number</strong></td><td>{{repNumber}}</td></tr>
<tr><td><strong>First Name</strong></td><td>{{firstName}}</td></tr>
<tr><td><strong>Middle Name</strong></td><td>{{middleName}}</td></tr>
<tr><td><strong>Last Name</strong></td><td>{{lastName}}</td></tr>
<tr><td><strong>alias 1</strong></td><td>{{alias1}}</td></tr>
<tr><td><strong>alias 2</strong></td><td>{{alias2}}</td></tr>
{{else}}
<tr><td><strong>Id</strong></td>{{id}}</td></tr>
<tr><td><strong>number</strong></td><td>{{repNumber}}</td></tr>
<tr><td><strong>First Name</strong></td><td>{{input type="text" value=firstName</td></tr>
<!-- input counterparts etc -->
{{/if}}
</tbody></table>
....
PersonController定义如下:
App.Editable = Em.Mixin.create({
isEditing: false,
actions: {
edit: function() {
this.toggleProperty('isEditing');
}
}
});
App.PersonController = Em.ObjectController.extend(SS7.Editable);
路线的定义如下:
App.Router.map(function(){
...
this.resource('person', { path: '/person/:person_id'}, function(){});
});
现在,每当我第一次使用复选框切换isEditing
值时,我的所有元素都会突然从屏幕上消失。灰烬检查器显示viewTree当前位于具有PersonController的人员路径上,并且模型包含正确的人。但是在我硬刷新页面之前,我现在再也看不到两个输出中的任何一个(tr,tds)。
任何人都可以帮助解释这种行为。我不确定这是怎么回事。
答案 0 :(得分:1)
{{#if isEditing}}
<tr><td><strong>Id</strong></td>{{id}}</td></tr>
<tr><td><strong>number</strong></td><td>{{repNumber}}</td></tr>
<tr><td><strong>First Name</strong></td><td>{{firstName}}</td></tr>
<tr><td><strong>Middle Name</strong></td><td>{{middleName}}</td></tr>
<tr><td><strong>Last Name</strong></td><td>{{lastName}}</td></tr>
<tr><td><strong>alias 1</strong></td><td>{{alias1}}</td></tr>
<tr><td><strong>alias 2</strong></td><td>{{alias2}}</td></tr>
{{else}}
检查第一个&lt; tr&gt;,你错过了&lt; td&gt;在{{id}}之前,它应该是这样的:
{{#if isEditing}}
<tr><td><strong>Id</strong></td><td>{{id}}</td></tr>
<tr><td><strong>number</strong></td><td>{{repNumber}}</td></tr>
<tr><td><strong>First Name</strong></td><td>{{firstName}}</td></tr>
<tr><td><strong>Middle Name</strong></td><td>{{middleName}}</td></tr>
<tr><td><strong>Last Name</strong></td><td>{{lastName}}</td></tr>
<tr><td><strong>alias 1</strong></td><td>{{alias1}}</td></tr>
<tr><td><strong>alias 2</strong></td><td>{{alias2}}</td></tr>
{{else}}