我试图从sessionStorage获取值并将其映射到我的ng-model,但是 当我在我的ng-init中这样做时它不起作用。
问题在于我的实际代码我在ng-repeat中,所以我的sessionStorage变得如下:
sessionStorage.getItem(item.itemId)
HTMl代码:
<div ng-app="">
<div ng-controller="MyCtrl">
Not Working <input ng-init = 'name = sessionStorage.getItem("SavedString")' type="text" ng-model="name" >
Working <input type="text" ng-model="name1" >
</div>
</div>
控制器:
function MyCtrl($scope) {
sessionStorage.setItem("SavedString","I'm a value saved with SessionStorage");
//RETRIEVE VALUE
$scope.name = "test"
$scope.name1 = sessionStorage.getItem("SavedString");
$scope.hi = 'Hello World';
}
答案 0 :(得分:1)
我也试过你的方式,但我没有找到实现这个的要求......所以我尝试用init进行函数调用并将会话数据附加到该模型然后我可以看到通过制作ng-init ='some()'
here 来获得正确的输出是工作的掠夺者
<强>更新强>
从某些来源我发现HTML无法直接理解会话变量。
答案 1 :(得分:1)
sessionStorage
从ng-init
指令访问时,Angular不理解;它将被解析和解释为好像它是 $ scope函数(我认为不是这样)。
因此,为了使您的示例正常工作,您应该在控制器中执行以下操作:
$scope.sessionStorage = sessionStorage;