<body ng-app="myApp" ng-controller="myCtrl">
<input type="text" ng-model="name">
<p ng-hide="name!== 'peter'">peter</p>
<p ng-show="name!== 'peter'"></p>
<script>
//module declaration
var app = angular.module('myApp', []);
//controller declaration
app.controller('myCtrl',function($scope){
});
</script>
上面的代码有错误。 ||在这种情况下,我不知道为什么会这样做。实际上我可以用
来做到这一点var x = JSON.parse(localStorage.getItem('x')).length || 0;
但那是4行代码。有没有办法在一行中做到这一点?
答案 0 :(得分:1)
localStorage.getItem()
将返回null
,解析可能不会那样。但是一个空数组应该没问题。
var x = JSON.parse(localStorage.getItem('x') || '[]').length;
在JSON.parse
值上使用null
会返回null
。在length
上调用null
会引发错误。
答案 1 :(得分:0)
这应该有效。在询问其长度之前,您需要询问localStorage的项x
是否不是null
。
var array = [{ 'one': 1, 'two': 2, 'three': 3 }, { 'four': 4, 'five': 5, 'six': 6 }];
localStorage.setItem('x', JSON.stringify(array));
if(localStorage.getItem('x') != null) var x = (JSON.parse(localStorage.getItem('x'))).length;
答案 2 :(得分:0)
使用三元运算符How do you use the ? : (conditional) operator in JavaScript?
x=JSON.parse(localStorage.getItem('x')).length?JSON.parse(localStorage.getItem('x')).length:0;
答案 3 :(得分:0)
尝试速记如果:
var x = JSON.parse(localStorage.getItem('x')).length != 0 ? JSON.parse(localStorage.getItem('x')).length : 0