Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在第一次解析辅助对象时余烬_Javascript_Ember.js_Handlebars.js - Fatal编程技术网

Javascript 仅在第一次解析辅助对象时余烬

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条件 **编辑 这是我的控制器

我使用的是Ember js,最新的1.7.0,我想根据条件显示一些东西,但条件当然会发生很大变化

但余烬似乎只解析我的代码一次,这意味着一旦它变为真,无论发生什么情况,它都保持为真,因此最初它不显示,但随后它显示为空

这是我的代码片段

{{#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所要求的。如果我们不知道正在更新的内容,我们将无法提供真正的帮助。非常感谢,但我发现了我的错误