ng-if 中的 Raw javascript 不起作用?
Raw javascript in ng-if doesn't work?
我正在尝试检查 Angular $scope 中的对象中是否存在键。在我的控制器中,我得到了这个:
$scope.the_object = {'the_key': 123};
在我的模板中我得到了这个:
<span ng-if="'the_key' in the_object">
the_key exists in the_object
</span>
但我在控制台中得到以下跟踪:
Error: [$parse:syntax] http://errors.angularjs.org/1.4.7/$parse/syntax?p0=in&p1=is%20an%20unexpected%20token&p2=11&p3='the_key'NaNn%20the_object&p4=in%20the_object
at Error (native)
at http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:6:416
at Object.s.throwError (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:209:339)
at Object.s.ast (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:202:118)
at Object.sd.compile (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:211:203)
at fc.parse (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:238:193)
at b.$get (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:117:315)
at n.a.$get.n.$watch (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:127:125)
at a.link (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:254:214)
at aa (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:73:90)
我如何从 ng-if 中检查 the_key
是否存在于 the_object
中?
如果您要检查的 属性 在您的对象中而不是继承的对象中,您可以使用下面的代码。
<span ng-if="the_object.hasOwnProperty('the_key')">
the_key exists in the_object
</span>
如果上述情况并非如此,并且您确保没有在您的对象中初始化 the_key
undefined,您可以使用以下代码:
<span ng-if="the_object['the_key'] !== undefined">
the_key exists in the_object
</span>
检查这个plunker
如果您确定没有初始化未定义对象的任何值,则第二种方法比第一种方法快得多。在
查看更多相关信息
您可以简单地查看
ng-if="the_object.the_key !== undefined"
它检查 the_key
在 the_object
中是否存在。如果存在 return true
,如果不存在 return false
。存在意味着不是未定义的。
我正在尝试检查 Angular $scope 中的对象中是否存在键。在我的控制器中,我得到了这个:
$scope.the_object = {'the_key': 123};
在我的模板中我得到了这个:
<span ng-if="'the_key' in the_object">
the_key exists in the_object
</span>
但我在控制台中得到以下跟踪:
Error: [$parse:syntax] http://errors.angularjs.org/1.4.7/$parse/syntax?p0=in&p1=is%20an%20unexpected%20token&p2=11&p3='the_key'NaNn%20the_object&p4=in%20the_object
at Error (native)
at http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:6:416
at Object.s.throwError (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:209:339)
at Object.s.ast (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:202:118)
at Object.sd.compile (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:211:203)
at fc.parse (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:238:193)
at b.$get (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:117:315)
at n.a.$get.n.$watch (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:127:125)
at a.link (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:254:214)
at aa (http://52.29.xx.xx:5000/bower/angular/angular.min.js?version=1.4.7:73:90)
我如何从 ng-if 中检查 the_key
是否存在于 the_object
中?
如果您要检查的 属性 在您的对象中而不是继承的对象中,您可以使用下面的代码。
<span ng-if="the_object.hasOwnProperty('the_key')">
the_key exists in the_object
</span>
如果上述情况并非如此,并且您确保没有在您的对象中初始化 the_key
undefined,您可以使用以下代码:
<span ng-if="the_object['the_key'] !== undefined">
the_key exists in the_object
</span>
检查这个plunker
如果您确定没有初始化未定义对象的任何值,则第二种方法比第一种方法快得多。在
查看更多相关信息您可以简单地查看
ng-if="the_object.the_key !== undefined"
它检查 the_key
在 the_object
中是否存在。如果存在 return true
,如果不存在 return false
。存在意味着不是未定义的。