为什么在键入F或N时ng-show不起作用

And*_*ndy 8 angularjs angularjs-directive

我是AnguarJS的新手,我对ng-show有些不了解.

我有以下代码:http://codepen.io/mars16/full/atGLp

当用户开始输入输入字段时,我希望出现一个冒号,然后是输入的内容.我注意到,当最初键入f或n时,直到输入更多字母才会出现冒号字符.为什么会这样?

Mar*_*eld 7

问题是angular认为值'f','false','0','n'和'no'是假的!这种行为有一个开放的bug.你可以用sza的方法修复它,或者你也可以这样做:

<span ng-show="!!variable.one">:</span>
Run Code Online (Sandbox Code Playgroud)

  • 它绝对不符合"最不惊讶的原则!" :) (2认同)

zs2*_*020 2

该标准看起来不正确,ng-show应该采用一种boolean类型。尝试这个

<span ng-show="variable.one.length > 0">:</span>
Run Code Online (Sandbox Code Playgroud)