как сохранить выбранную опцию от пользователя при изменении вида

0

Демо - версия:

У меня есть выпадающий список, а опции JFON отключаются. сказать

<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

in page1.html У меня есть следующий код. выберите поле с указанными выше параметрами, когда пользователь выбирает вариант, пользователь выбрал три. это должно быть где-то сохранено. я dont, где сохранить, так что следующий, когда пользователь нажимает на 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',
      })
 })

Любая помощь приветствуется! благодаря

  • 0
    Вы можете заглянуть в ng-cookies или localStorageModule которые предоставляет angular.
  • 0
    @ Dev-One: как мне сделать, чтобы сэкономить на изменении события в угловых
Теги:
drop-down-menu
angularjs-select

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() метод 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);
}
  • 0
    не уверен, что работает Демо Ссылка работает, и я проверил на вкладке ресурсов, я не найду никаких сохраненных данных :(
  • 0
    @ Вы видите файл cookie в разделе Resources/Cookies/run.plnkr.co именем Selected
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню