就使用Ionic的这一行而言:
if (!$scope.yelp.isLoading && $scope.yelp.hasMore) {
!$scope
是什么意思?这与$scope
有什么不同?为什么在&&
后$scope
而不是!$scope
?
(注意:这是新的,所以请用外行人的条款解释)
答案 0 :(得分:1)
答案非常简单,与您使用比较的任何语言中的任何逻辑相同 在你的情况下,如果$ scope.yelp.isLoading为false,$ scope.yelp.isLoading将返回true,$ scope.yelp.hasMore将返回与$ scope.yelp.hasMore的值相关联的true或false,即true如果为真,如果为假,则为假。
$ scope只是angularjs自动创建的对象,它绑定脚本部分中的dom元素。
关于在绑定中使用$ scope和!$ scope的问题,是迄今为止最简单的比较逻辑。您正在检查yelp.isloading是否为false并且yelp.hasmore为true,您在if逻辑中插入。 (逻辑和运算符即&&&&&&&&&&&&&&&&&&&&&&&&&
您需要阅读angularjs的文档以及基本的编程操作符。
答案 1 :(得分:1)
!符号表示否定。例如,如果 x 变量值为 true ,则否定!会将 x 值反转为 false 强>反之亦然。
!$scope.yelp.isLoading
句子本身并未评估 $ scope , $ scope.yelp.isLoading 是评估变量。
$ scope.yelp 是一个对象,句子正在加入 isLoading 元素。
e.g
$scope.yelp = {
hasMore: false
isLoading: true,
...
} // $scope.yelp.isLoading === true , !$scope.yelp.isLoading === false
答案 2 :(得分:0)
@Sah(我无法发表评论)。
为什么在&&&你做范围而不是!$范围?
它不会应用于第二个条件,因为您的代码可能需要第一个条件为true而第二个条件同时为false。 我们需要您发布更多业务代码,以了解在满足这两个条件时要做什么。