有条件地根据HTML5 localStorage中的数据选择视图模板

时间:2014-08-20 17:18:52

标签: javascript html5 angularjs

运行

myApp.run(function(){
    if(!(window.localStorage.storage1)){
        window.localStorage.setItem('storage1', null);
});

主页视图

<div ng-if="window.localStorage.storage1 == null"> 
    <!-- Show this part of the view , called Part 1-->
</div>

<div ng-if="window.localStorage.storage1 != null"> 
    <!-- Show this part of the view -->
</div>

转换为某些state后,我将storage1更新为{"someKey" : "someValue"}

现在在home视图中,当storage1设置为null(实际上是字符串"null")时,应显示视图的part1以及{{1}将值更新为字典数据类型,然后应显示视图storage1。但事实并非如此。我几乎尝试了一切。我比较了part2,明确地将其强制转换,更改了typeof的默认值,但似乎没有任何效果。

1 个答案:

答案 0 :(得分:0)

角度表达式在范围的上下文中进行评估。见https://docs.angularjs.org/guide/expression

在Home View的控制器中,您需要根据localStorage中的内容设置范围内的内容,然后在ng-if表达式中使用它。