在ember JS中是否可以在条件#if中添加比较操作?
Is it possible to add comparing operation in condition #if in ember JS?
我是 Ember JS 的新手。我尝试在#if 条件下添加比较操作,但它不起作用。
是否可以在 ember JS 中的条件 #if 中添加操作?
{{#if (slide.type == "image")}}
<img alt='' src='{{slide.image_url}}'>
{{else}}
<video width="100%" height="100%" playsinline=true autoplay=true muted=true loop=true wrap=true>
<source src={{slide.image_url}}>
</video>
{{/if}}
谢谢
是的,您可以在模板中使用条件。但是,您使用的语法将不起作用,因为 Ember 为模板定义了受限和严格的语法以便更好地理解。
Ember 公开 helpers
以在模板中执行这样的功能。您可以创建一个新的助手来检查这两个属性是否相等,例如:
// app/helpers/equal.js
import { helper } from '@ember/component/helper';
function equal(args) {
let [prop1, prop2] = args;
return prop1 === prop2;
}
export default helper(equal);
并且在您的模板中,您可以使用 equal
助手:
{{#if (equal slide.type "image")}}
<img alt='' src='{{slide.image_url}}'>
{{else}}
<video width="100%" height="100%" playsinline=true autoplay=true muted=true loop=true wrap=true>
<source src={{slide.image_url}}>
</video>
{{/if}}
或者,您可以使用 Ember 插件,例如 ember-truth-helpers
,其中包含各种此类条件助手,随时可用。
在您的 HBS 文件中,您可以简单地使用以下内容
{{#if (eq slide.type == "image")}}
假设您使用 Ember Truth Helpers
我是 Ember JS 的新手。我尝试在#if 条件下添加比较操作,但它不起作用。 是否可以在 ember JS 中的条件 #if 中添加操作?
{{#if (slide.type == "image")}}
<img alt='' src='{{slide.image_url}}'>
{{else}}
<video width="100%" height="100%" playsinline=true autoplay=true muted=true loop=true wrap=true>
<source src={{slide.image_url}}>
</video>
{{/if}}
谢谢
是的,您可以在模板中使用条件。但是,您使用的语法将不起作用,因为 Ember 为模板定义了受限和严格的语法以便更好地理解。
Ember 公开 helpers
以在模板中执行这样的功能。您可以创建一个新的助手来检查这两个属性是否相等,例如:
// app/helpers/equal.js
import { helper } from '@ember/component/helper';
function equal(args) {
let [prop1, prop2] = args;
return prop1 === prop2;
}
export default helper(equal);
并且在您的模板中,您可以使用 equal
助手:
{{#if (equal slide.type "image")}}
<img alt='' src='{{slide.image_url}}'>
{{else}}
<video width="100%" height="100%" playsinline=true autoplay=true muted=true loop=true wrap=true>
<source src={{slide.image_url}}>
</video>
{{/if}}
或者,您可以使用 Ember 插件,例如 ember-truth-helpers
,其中包含各种此类条件助手,随时可用。
在您的 HBS 文件中,您可以简单地使用以下内容
{{#if (eq slide.type == "image")}}
假设您使用 Ember Truth Helpers