javascript - 即使条件为真,使用 ng-if 也不会显示该元素

标签 javascript angularjs

我使用ng-if来显示/隐藏页面中的一些元素,如下:

<span ng-if="user.name == ''||user.name ==null">Name:No Data</span>
<span ng-if="user.name != ''&& user.name !=null" ng-bind="'Name:' + user.name"></span>

但是无论user.name是否设置,这两个元素都会显示。我在 Chrome 的控制台中确认,在 Debug模式下运行时条件为真。 在我用 ng-show 替换 ng-if 后它就起作用了,我对此感到非常困惑。

感谢您的任何澄清。谢谢!

更新:

这是我的$scope.user:

var u = {
    'loginId': mb,
    'mobile': mb.substr(0,3 ) + "****" + mb.substr(7, 11),
    'account': mb.substr(0,3 ) + "****" + mb.substr(7, 11),
    'score': data.score,
    'email': data.email,
    'name': data.name,
    'id': data.id
};
$scope.user = u;

现在我确实有了user.name的值,我尝试了下面提供的建议,这是我的测试结果。

The first one

The second one

最佳答案

您正在使用 == 来检查相等性,即使数据未定义或类似的其他数据,该相等性也会成功。因此,使用 === 即可完成您的工作。

祝一切顺利。

关于javascript - 即使条件为真,使用 ng-if 也不会显示该元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44281069/

相关文章:

javascript - angularjs ng-repeat中的工具提示?

javascript - 地理空间框查询 - Mongoose、Node.js MongoDB - 不返回任何结果

Chrome 控制台输出中 JavaScript 除以零

javascript - 在 React 中迭代数据数组时呈现 JSX 元素的最有效方式

javascript - WebSocket 不是用 NuxtJS 定义的

css - ng-table 宽度和非溢出文本

javascript - 不同条件下的 ng-model

Javascript:IE 和 Chrome 中的 onBeforeUnload() 行为

javascript - webpack-dev-server 未在 html 或 sass 更改时重新加载

javascript - 为什么 "undefined"在 Angular JS 中显示?