ember if else 条件
ember if else conditionals
我有一个包含 link 的条件语句。如果某件事是真的,我希望 link 到 'place a' 如果它不是真的,我希望它 link 到 'place b'。但是我遇到构建错误。
我删除了条件语句,只有一个正常的 link (link-to) ...所以只有一个 link 到一个地方我的代码构建正常。构建错误就在我尝试拥有 2 links 时。见下文:
<div class="card text-xs-center">
{{if isShowingModal}}
{{#link-to 'place-a'}}
{{else}}
{{#link-to 'place-b'}}
{{/if}}
<div class="card-block">
<i class="fa fa-cogs" aria-hidden="true"></i>
</div>
<div class="card-block">
<h4 class="card-title">The Place</h4>
</div>
{{/link-to}}
</div>
错误说:错误:link-to 不匹配如果 - 8:19
application.js
export default Ember.Controller.extend({
isShowingModal: false,
actions: {
showNavMenu: function() {
this.toggleProperty('isShowingModal');
}
}
});
实际上你并没有正确结束link-to helper。它应该以 {{/link-to}}
结尾
所以在你的情况下它将是
{{#link-to 'place-a' }} Place A {{\link-to}
{{#link-to 'place-b' }} Place B {{\link-to}
在您的情况下,完整代码将是
<div class="card text-xs-center">
{{if isShowingModal}}
{{#link-to 'place-a' class='card-block fa fa-cogs'}}
The Place
{{/link-to}}
{{else}}
{{#link-to 'place-b' class='card-block fa fa-cogs'}}
The Place
{{/link-to}}
{{/if}}
</div>
为了你的帮助检查它http://emberjs.com/api/classes/Ember.Templates.helpers.html#method_link-to
是的,这是因为您没有正确关闭 link-to。这将帮助您避免重复 link-to 语句。
<div class="card text-xs-center">
{{#link-to (if showingModal "place-a" "place-b") class='card-block fa fa-cogs'}}
<div class="card-block">
<i class="fa fa-cogs" aria-hidden="true"></i>
</div>
<div class="card-block">
<h4 class="card-title">The Place</h4>
</div>
{{/link-to}}
</div>
我有一个包含 link 的条件语句。如果某件事是真的,我希望 link 到 'place a' 如果它不是真的,我希望它 link 到 'place b'。但是我遇到构建错误。
我删除了条件语句,只有一个正常的 link (link-to) ...所以只有一个 link 到一个地方我的代码构建正常。构建错误就在我尝试拥有 2 links 时。见下文:
<div class="card text-xs-center">
{{if isShowingModal}}
{{#link-to 'place-a'}}
{{else}}
{{#link-to 'place-b'}}
{{/if}}
<div class="card-block">
<i class="fa fa-cogs" aria-hidden="true"></i>
</div>
<div class="card-block">
<h4 class="card-title">The Place</h4>
</div>
{{/link-to}}
</div>
错误说:错误:link-to 不匹配如果 - 8:19
application.js
export default Ember.Controller.extend({
isShowingModal: false,
actions: {
showNavMenu: function() {
this.toggleProperty('isShowingModal');
}
}
});
实际上你并没有正确结束link-to helper。它应该以 {{/link-to}}
结尾
所以在你的情况下它将是
{{#link-to 'place-a' }} Place A {{\link-to}
{{#link-to 'place-b' }} Place B {{\link-to}
在您的情况下,完整代码将是
<div class="card text-xs-center">
{{if isShowingModal}}
{{#link-to 'place-a' class='card-block fa fa-cogs'}}
The Place
{{/link-to}}
{{else}}
{{#link-to 'place-b' class='card-block fa fa-cogs'}}
The Place
{{/link-to}}
{{/if}}
</div>
为了你的帮助检查它http://emberjs.com/api/classes/Ember.Templates.helpers.html#method_link-to
是的,这是因为您没有正确关闭 link-to。这将帮助您避免重复 link-to 语句。
<div class="card text-xs-center">
{{#link-to (if showingModal "place-a" "place-b") class='card-block fa fa-cogs'}}
<div class="card-block">
<i class="fa fa-cogs" aria-hidden="true"></i>
</div>
<div class="card-block">
<h4 class="card-title">The Place</h4>
</div>
{{/link-to}}
</div>