1
我的手柄模板(在Ember應用程序中)有一個簡單的if/else語句,但由於某些原因,if和else分支都呈現。Handlebars if/else渲染兩個分支
下面是一段代碼:
{{#if loading}}
<p>Loading</p>
{{else}}
{{#if loaded}}
loaded
<p><button {{action "play" this}}>Play</button><p>
{{else}}
not loaded
<p><button {{action "load" this}}>Load</button><p>
{{/if}}
{{/if}}
最初,只有else
分支呈現,但是當我加載聲音,並將其loaded
鍵設置爲true,無論是if
和else
分支渲染。
這是改變聲音的loaded
屬性的方法:
load: function() {
var media = new window.Media(this.get("normalizedPath"), this._finishedPlaying.bind(this), this._finishedPlaying.bind(this)),
loadPromise;
this.set("media", media);
this.set("loading", true);
if(media.load) {
loadPromise = media.load();
}
else {
loadPromise = RSVP.resolve(this);
}
return loadPromise.then(function() {
this.set("loading", false);
this.set("loaded", true);
return this;
}.bind(this));
},
任何幫助將不勝感激。
你可能想要提供處理加載狀態的代碼:) – MartinElvar 2014-10-09 16:42:10
@MartinElvar我不明白爲什麼這是必要的。有什麼我可以做的'裝載'屬性會導致句柄呈現兩個分支?無論如何,我會添加代碼。 – SimpleJ 2014-10-09 16:45:12