gpt4 book ai didi

angularjs - 为什么 {{ isNan(x) }} 在 angularJS 中不起作用?

转载 作者:行者123 更新时间:2023-12-03 20:18:17 26 4
gpt4 key购买 nike

请注意,此问题的标题已更改为更专注于确切问题的标题。查看评论流以了解它是如何发生的,我意识到问题是 AngularJS 似乎没有处理 {{ isNaN() }}

我的 HTML 中有以下内容:

xx {{ option.selectedSubject }} yy {{ (option.selectedSubject == null) }} zz

我也试过:
xx {{ option.selectedSubject }} yy {{ option.selectedSubject == null }} z

和:
xx {{ option.selectedSubject }} yy {{ option.selectedSubject === null }} zz

有人能帮我解释一下为什么我在查看我的页面时会得到上述每个内容的以下信息:
xx null yy false zz

更新 1 我尝试了以下方法:
aa {{ option.selectedSubject === "null" }} bb {{ option.selectedSubject == "null" }} cc

它给出了这个:
aa false bb false cc

更新 2 我不确定这是否有帮助,但这是填充 option.selectedSubject 值的内容。在这种情况下,本地存储中没有任何内容:
$scope.option.selectedSubject = parseInt(localStorage.get('selectedSubject'));

当我检查 $scope.option.selectedSubject 的值时,它是 NaN

最佳答案

这里的问题不是isNaN。问题是您正在调用不存在的 $scope 变量上的函数。

每个插入的文本( '{{ text }}' )都与 $scope 变量相关联,并针对该 $scope 变量进行评估。

为了方便您,如果 $scope.property 不存在,可以动态创建它。每当您使用 ngModel='someProperty' 或 {{ aPropertyName }} 时,如果它不存在,则会自动为您创建相应的 $scope.someProperty 或 $scope.aPropertyName。但是,此快捷方式仅适用于基元。

函数调用总是针对 $scope 进行评估,并且从不创建。这就是您必须说 $scope.isNaN = isNaN 的原因,正如您在之前的评论中发现的那样。

尝试使用任何功能。 isArray、isNumber 等。除非您将 $scope.functionName = functionName 放在某个 Controller 中,否则它将无法工作。

编辑:另外,如果你真的想在插值中进行 isNaN 测试,你可以利用 javascript 的类型系统并使用

{{ property != property }}

但这是不好的形式......

http://plnkr.co/edit/wfLqzk8QxScsJPF5qY12?p=preview

关于angularjs - 为什么 {{ isNan(x) }} 在 angularJS 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20688186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com