从sessionStorage获取值

时间:2016-11-29 10:26:23

标签: javascript angularjs

我试图从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';
}

小提琴: http://jsfiddle.net/393revrn/

2 个答案:

答案 0 :(得分:1)

我也试过你的方式,但我没有找到实现这个的要求......所以我尝试用init进行函数调用并将会话数据附加到该模型然后我可以看到通过制作ng-init ='some()' here 来获得正确的输出是工作的掠夺者

<强>更新

从某些来源我发现HTML无法直接理解会话变量。

答案 1 :(得分:1)

sessionStorageng-init指令访问时,Angular不理解;它将被解析和解释为好像它是 $ scope函数(我认为不是这样)。

因此,为了使您的示例正常工作,您应该在控制器中执行以下操作:

$scope.sessionStorage = sessionStorage;