我试图使用JavaScript
表达与ng-if
。然而,它没有做任何事情。它总会回归false
.
我尝试过以下内容:
ng-if="localStorage.getItem('grid-layout') == 'list'
(如果为 true,则显示 div)
The div
不渲染,因为它总是返回false
。网格布局值保存在localStorage
。这不是问题。
我检查了网站上的文档。Angular
说以下关于ng-if
https://docs.angularjs.org/api/ng/directive/ngIf https://docs.angularjs.org/api/ng/directive/ngIf
如果表达式为假,则该元素将从 DOM 中删除
树。如果为真,则将已编译元素的副本添加到
DOM 树。
是否可以只使用JavaScript
inside ng-if
?如果没有,我怎样才能实现我想要做的事情?
您可以在 ng-if 中使用 Javascript 表达式,但您只能访问 ng-if 中的属性$scope
当前模板的。
不太可能localStorage
除非您专门将其添加到$scope
object.
一种方法是编写一个附加到控制器中 $scope 的函数:
//in controller JS
$scope.checkLocalStorage = function() {
return localStorage.getItem('grid-layout') == 'list';
}
//In template
<div ng-if="checkLocalStorage()"></div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)