Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Калькулятор с сохранением кук (https://javascript.ru/forum/angular/69552-kalkulyator-s-sokhraneniem-kuk.html)

shoopik 02.07.2017 21:44

Калькулятор с сохранением кук
 
Hello,
делаю калькулятор, в общем замысел такой:
1) При перезагрузке страницы оставлять то значение, которое в поле.
2) Есть 2 кнопки SAVE и PUT - сохранение значения в память и при нажатии Put Вставлять его в поле. Пытаюсь связать всё это, наставьте на путь, куда копать :write:

Попытки связать всё это тут: https://plnkr.co/edit/ijr7x9NkhV1FDQoTKYiA?p=preview

shoopik 03.07.2017 11:46

Ну в общем пытаюсь сделать по логике:
Просто запушить(Push) число в окно, типа как любое число с кнопки.
Не пойму тока как связать это значение в окне с куками.

<body ng-controller="kyk">
  <p>{{ $cookies.get('cookie') }}</p>
  <input type="text" ng-model="cookieVal">
  <button ng-click="setCookie(cookieVal)">update</button>


 <div ng-controller="CalculatorController">
 <br> <span  id="myFavorite" >{{formula.join('')}}</span> <br><br><br>


  <button ng-click="add(7)">7</button>
  <button ng-click="add(8)">8</button>
  <button ng-click="add(9)">9</button>
  <button ng-click="add('/')">/</button><br>
  <button ng-click="add(4)">4</button>
  <button ng-click="add(5)">5</button>
  <button ng-click="add(6)">6</button>
  <button ng-click="add('*')">*</button><br>
  <button ng-click="add(1)">1</button>
  <button ng-click="add(2)">2</button>
  <button ng-click="add(3)">3</button>
  <button ng-click="add('-')">-</button><br>
  <button ng-click="add(0)">0</button>
  <button ng-click="add('.')">.</button>
  <button ng-click="add('+')">+</button>
  <button ng-click="eval()">=</button> <br>
  <button ng-click="remove()">CLEAR</button>
  <button ng-click="save">SAVE</button>
  <button ng-click="put(formula)">PUT</button>
  </div>


app = angular.module('app',['ngCookies',])

app.controller('kyk', function ($scope, $cookies) {
  $scope.$cookies = $cookies;
  $scope.myCookieVal = $cookies.get('cookie');
  $scope.setCookie = function (val) {
   $cookies.put('cookie', val);
  };
});

app.controller('CalculatorController', function ($scope, $cookies) {
$scope.$cookies = $cookies;
    $scope.formula = [0];
    $scope.add = function (item) {
        if($scope.formula == 0) $scope.formula = [item];
        else $scope.formula.push(item);
    };
    $scope.remove = function () {
        $scope.formula.pop();
        if($scope.formula = ['']) $scope.formula = [0];
    };

    $scope.eval = function () {
        var result = eval($scope.formula.join(''));
        $scope.formula = [result];
         $cookies.get('formul', $scope.formula.join(''));
        $cookies.put('formul', )  
    };
 $scope.save = function() {
 	$cookies.get('save');
 };
 $scope.put = function (value) {
 	$cookies.put('save', value);
 	if($scope.formula == 0) $scope.formula =$cookies.put ('save', value);
        else $scope.formula.push($cookies.put('save', value));
 }

});


Часовой пояс GMT +3, время: 10:34.