【问题标题】:Local storage get value angular and pass to input本地存储获取角度值并传递给输入
【发布时间】:2017-06-26 19:22:56
【问题描述】:

在此函数中,我将值名称、姓氏、电子邮件传递到本地存储。我想将这些值用于我的输入表单,以便用户在使用一次后不必输入这些值。如何在我的视图 HTML 中打印每个值?

function submit() {  
    if($rootScope.name!=null)    {
        var JSONObject = {
             "name":$rootScope.name,
             "surname":$rootScope.surname,
             "email":$rootScope.email,
             "review":$rootScope.review
            }
        var temp={
            "name":$rootScope.name,
             "surname":$rootScope.surname,
             "email":$rootScope.email
        }
        $scope.localArray.push(temp);
        localStorageService.set("wimmtkey", $scope.localArray);
        var obtained_array = localStorageService.get("wimmtkey"); 

        var Results = UniversalService.PostReview(JSON.stringify(JSONObject));
        }
    }

这是我的视图.html

<form name="form" ng-submit="vm.submit()" role="form">
        <div >
            <div>
                <div class="form-group">
                    <label for="name">Name</label>
                    <input type="text" name="text" id="name" class="form-control" ng-model="vm.name" placeholder="Enter name here" required />
                    <span ng-show="form.name.$dirty && form.name.$error.required" class="help-block">Name is required</span>
                </div>
            </div>

            <div>
                <div class="form-group">
                    <label for="surname">Surname</label>
                    <input type="text" name="text" id="surname" class="form-control" ng-model="vm.surname" placeholder="Enter surname here" required />
                    <span ng-show="form.surname.$dirty && form.surname.$error.required" class="help-block">Surname is required</span>
                </div>
            </div>

             <div>
                <div class="form-group">
                    <label for="email">Email</label>
                    <input type="text" name="email" id="email" class="form-control" ng-model="vm.email" placeholder="Enter email here" required />
                    <span ng-show="form.email.$dirty && form.email.$error.required" class="help-block">Email is required</span>
                </div>
            </div>

            <div>
                <div class="form-group">
                    <label for="review">Review</label>
                    <input type="text" name="text" id="review" class="form-control" ng-model="vm.review" placeholder="Enter review here" required />
                    <span ng-show="form.review.$dirty && form.review.$error.required" class="help-block">Review is required</span>
                </div>
            </div>

           <div class="form-actions">
                <button id="submit" type="submit" onclick="passInfo()" class="btn btn-primary">Submit</button>
                <label style="display:none" id="label"><font color="white">Succesfully added!  

                <a onclick="refresh()" href="../ang/#!/review">Add new review</a></label> or 
                <a href="../ang/#!/">View reviews</a>
            </div>
        </div>

    </form>

【问题讨论】:

  • 您可以通过在 localStore 中获取数据并设置 vm.name = ... 来做到这一点,但您似乎混合了 $scope 和 controllerAs 语法。选择一个并使用
  • 我的意思是我如何从获取的数组中访问那个值 = localStorageService.get("wimmtkey"); ?

标签: javascript angularjs local-storage


【解决方案1】:

编写init函数获取本地存储数据并设置在$scope变量中

HTML

<div ng-init="initialise()">

<input type="text" name="text" id="review" class="form-control" ng-
 model="obtained_array.review" placeholder="Enter review here" required />
//Rest of the HTML code goes here
</div>

在控制器中

$scope.initialise = function(){

 $scope.obtained_array = localStorageService.get("wimmtkey"); 

}

【讨论】:

    【解决方案2】:
    function submit() {  
        if($rootScope.name!=null)    {
    
            var temp={
                "name":$rootScope.name,
                "surname":$rootScope.surname,
                "email":$rootScope.email
            }
            localStorage.setItem('user_data',JSON.stringify(temp)); 
            // Stores temp to localStorage          
             var data = localStorage.getItem('user_data');
             // reads data from localStorage
                            vat $scope.tempData = JSON.parse(data);
                            console.log($scope.tempData);
                            // prints data retrived from localStorage and pass this tempData in html to use in html                         
    
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-22
      • 1970-01-01
      • 2014-10-18
      • 2018-01-26
      • 2018-09-13
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      相关资源
      最近更新 更多