我的把手模板(在Ember应用程序中)有一个简单的if / else语句,但由于某种原因,正在渲染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));
},
非常感谢任何帮助。
答案 0 :(得分:3)
你在这里遇到了糟糕的HTML,你错过了关闭的p标签,而是打开了p标签。