I have a statement like this:
{{#if IsValid}}
I want to know how I can use a negative if statement that would look like that:
{{#if not IsValid}}
Simple answers for simple questions:
{{#unless isValid}}
{{/unless}}
Also keep in mind that you can insert an {{else}} in between an {{#if}} or {{#unless}} and the closing tag.
You have many ways of doing that.
1. Use {{unless}}:
{{#unless isValid}}
...
{{else}}
...
{{/unless}}
2. Use inline-if helper:
{{#if (if isValid false true)}}
...
{{else}}
...
{{/if}}
3. Use ember-truth-helpers addon:
{{#if (not isValid)}}
...
{{else}}
...
{{/if}}
unless block helper (built-in helper)
unless helper is the inverse of the if helper.
Its block will be rendered if the expression returns a falsy value.
{{#unless valid}}
<h3 class="warning">WARNING</h3>
{{/unless}}
{{#if items.length}}
//Render
{{/if}}
Here items.length .. if it returns some value except null, then only it will enters into the if loop.
NOTE : You can check Boolean values also. In If block
{{#if booleanFloag}}
it can be done in multiple ways.
1 use unless
{{#unless IsValid}}
<Your Code>
{{/unless}}
2.use if else
{{#if IsValid}}
{{else}}
<Your Code>
{{/if}}
3.use not helper
{{#if (not IsValid)}}
<Your Code>
{{/if}}
Below Statements Will help full if you want to use if and else :
{{#if author}}
<h1>{{firstName}} {{lastName}}</h1>
{{else}}
<h1>Unknown Author</h1>
{{/if}}
NOTE : Dont close the if Block until logic finished ...
来源:https://stackoverflow.com/questions/10540176/how-to-implement-not-with-if-statement-in-ember-handlebars