最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - If value is 0 then return empty string in Angularjs - Stack Overflow

programmeradmin0浏览0评论

Is it possible to return empty string when some value is "0", but from HTML page using angularJs?

If I have something like this:

<p>External | Year of Birth: {{profileCtrl.person.year}}</p>

Can I write some expression right there that will check the value for profileCtrl.person.year? If the value is "0" then return empty string, else return value of profileCtrl.person.year.

Something like this is very easy to do in languages like C#, but since I am very new to Angular I was unable to find out if this technology has a power to do such thing?

Can someone help me out with this maybe?

Is it possible to return empty string when some value is "0", but from HTML page using angularJs?

If I have something like this:

<p>External | Year of Birth: {{profileCtrl.person.year}}</p>

Can I write some expression right there that will check the value for profileCtrl.person.year? If the value is "0" then return empty string, else return value of profileCtrl.person.year.

Something like this is very easy to do in languages like C#, but since I am very new to Angular I was unable to find out if this technology has a power to do such thing?

Can someone help me out with this maybe?

Share Improve this question asked Dec 23, 2016 at 8:50 nemo_87nemo_87 4,79116 gold badges65 silver badges103 bronze badges 1
  • 1 did you try {{profileCtrl.person.year === 0?"":profileCtrl.person.year}} – Developer Commented Dec 23, 2016 at 8:53
Add a ment  | 

6 Answers 6

Reset to default 2

You can do it like this:

{{profileCtrl.person.year === 0 ? "" : profileCtrl.person.year}}

You can use a ternary operator to achieve this;

{{profileCtrl.person.year === 0 ? "" : profileCtrl.person.year}}

This basically says, if it's 0 provide "", else provide the year.

Hope it helps!

You could use the ternary operator ?:

{{ profileCtrl.person.year === 0 ? "" : profileCtrl.person.year }}

You could use a logical OR ||, which uses the second value if the first value is falsy.

<p>External | Year of Birth: {{profileCtrl.person.year || ""}}</p>

Another solution could be to show the wole part, with ng-show attribute and a truthy value. On a falsy value the part is hidden.

<p ng-show="profileCtrl.person.year">External | Year of Birth: {{profileCtrl.person.year}}</p>

Use ternary operator:

<p>External | Year of Birth: {{profileCtrl.person.year !== 0 ? profileCtrl.person.year : ""}}</p>

Another approach might be (haven't checked):

<p>External | Year of Birth: {{profileCtrl.person.year || ""}}</p>

you can use filter in your code for return empty

//js file
app.filter("filterName",function(){
    return function(input){
           switch(input){
           case 0:
           return "";
    }
});

<!-- html page -->
{{input | filterName}}
发布评论

评论列表(0)

  1. 暂无评论