Javascript 仅在第一次解析辅助对象时余烬
我使用的是Ember js,最新的1.7.0,我想根据条件显示一些东西,但条件当然会发生很大变化 但余烬似乎只解析我的代码一次,这意味着一旦它变为真,无论发生什么情况,它都保持为真,因此最初它不显示,但随后它显示为空 这是我的代码片段Javascript 仅在第一次解析辅助对象时余烬,javascript,ember.js,handlebars.js,Javascript,Ember.js,Handlebars.js,我使用的是Ember js,最新的1.7.0,我想根据条件显示一些东西,但条件当然会发生很大变化 但余烬似乎只解析我的代码一次,这意味着一旦它变为真,无论发生什么情况,它都保持为真,因此最初它不显示,但随后它显示为空 这是我的代码片段 {{#if controller.selectedTmHit}} {{tm-results-footer selectedTmHit=controller.selectedTmHit}} {{/if}} 如何在余烬中更新if条件 **编辑 这是我的控制器
{{#if controller.selectedTmHit}}
{{tm-results-footer selectedTmHit=controller.selectedTmHit}}
{{/if}}
如何在余烬中更新if条件
**编辑
这是我的控制器
TsWebEditor.SubfileController = Ember.ObjectController.extend({
needs:['application'],
jobId:Ember.computed.alias("controllers.application.currentTask.jobId"),
selectedTmHit:null
});
这是我的部分
<div id="tabTmSearch" class="tab tab-pane active">
{{partial "subfile/tm-tab"}}
</div>
{{partial“subfile/tm tab”}
这是我的子文件/tm选项卡
<div class="container-fluid">
{{#if controller.selectedSegment}}
<div class="row">
<div class="tm-main-source">
{{tm-hit-source locale=sourceLocale segment=controller.selectedSegment}}
</div>
</div>
<hr/>
<div class="row tm-results-table">
<table class="table table-bordered table-condensed table-striped">
<tbody>
{{#each tmHit in controller.selectedSegment.tmHits}}
{{tm-hit tmHit=tmHit}}
{{/each}}
</tbody>
</table>
</div>
{{/if}}
</div>
{{#if controller.selectedTmHit}}
{{tm-results-footer selectedTmHit=controller.selectedTmHit}}
{{/if}}
{{{#if controller.selectedSegment}
{{tm hit source locale=sourceLocale segment=controller.selectedSegment}
{{#控制器中的每个tmHit.selectedSegment.tmHits}
{{tm hit tmHit=tmHit}}
{{/每个}}
{{/if}
{{{#if controller.selectedTmHit}
{{tm results footer selectedTmHit=controller.selectedTmHit}
{{/if}
起初它显示正确,但一旦if条件为true,它就不会重新渲染,尽管selectedTmHit的值发生了更改,它只显示了一个空div好的,我发现了问题,我有一个异常没有被捕获,也没有出现在我面前,并且EmberJS在所有其他内容完成后进行渲染,因此,当我的代码抛出异常时,它没有完成呈现过程,因为该事件已终止,无法返回到运行循环以继续执行
因此,如果您有相同的问题,请检查您的异常,并确保返回循环并完成处理。能否显示
selectedTmHit
?的代码以及模板的整个上下文(它是哪个模板)。什么更新selectedTmHit,这个控制器的型号是什么?需要@Kingpin2k所要求的。如果我们不知道正在更新的内容,我们将无法提供真正的帮助。非常感谢,但我发现了我的错误