0

演示:

我有一个下拉列表,并且选项正在从 JSON 中获取。说

<select ng-model="projectModel" ng-options="project as project.projectName"> 
<option>one</option> 
<option>two</option> 
<option>three</option> 
<option>four</option> 
<option>and so on... </option>
</select>

我有两个视图 page1.html 和 page2.html

在 page1.html 我有以下代码。当用户选择一个选项时,选择带有上述选项的框说,用户选择了三个。这必须保存在某个地方。我不保存在哪里,所以接下来当用户点击 page2.html 之前在 page1.html 中选择的数据不应该重置。

HTML:

<body ng-app="staticSelect">
  <div ng-controller="ddController">
  <form name="myForm">
    <label for="singleSelect"> Single select: </label><br>
    <select name="singleSelect" ng-model="data.singleSelect">
      <option ng-repeat="x in options">{{x}}</option>
    </select><br>
    <tt>singleSelect = {{data.singleSelect}}</tt>
  </form>
</div>
</body>

JS

app.controller('ddController', ['$scope', function($scope) {
    $scope.data = {
     singleSelect: null,
    };
    $scope.options = ["red","blue","yellow"];
 }]);

 app.config(function ($routeProvider) {
    $routeProvider
      .when('/', {
        templateUrl: '01.html',
        controller: 'htmlCtrl',
      })
      .when('/html', {
        templateUrl: '02.html',
        controller: 'htmlCtrl',
      })
 })

任何帮助将非常感激!谢谢

4

1 回答 1

1

在主视图中添加了对“ng-cookies”的引用以及设置和获取 cookie 的服务。

在 HTML 中:

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-cookies.js"></script>

绑定html有通过设置cookie的方法ng-change

<select name="singleSelect" ng-model="data.singleSelect" ng-change="setSelect()">
   <option ng-repeat="x in options">{{x}}</option>
</select>

您可以CookieService工作演示中看到

在控制器中:

setSelect()触发该方法时,在 cookie 中设置选定的值,当视图返回时,它将重新存储 cookie 中的值

if(cookieService.getAppData("selected") !== null && cookieService.getAppData("selected") !== undefined){
 $scope.data.singleSelect = cookieService.getAppData("selected");
}

$scope.setSelect = function (){
   cookieService.setAppData("selected", $scope.data.singleSelect);
}
于 2016-07-04T11:31:53.153 回答