2016-11-30 97 views
1

我想使用一個簡單的輸入,可以通過cookie自動檢索。

我的角度控制器是:

<script> 
    var app = angular.module('mantis', ['ngCookies']); 
    app.controller('main', function($scope, $cookies) { 

     $scope.nom = ''; 

     $scope.WriteNom = function() { 
      $cookies.put('Nom', $scope.nom); 
     }; 

     $scope.ReadNom = function() { 
      $scope.nom = $cookies.get('Nom'); 
      return $scope.nom; 
     }; 

    }); 
</script> 

在我的網頁,我做了一個div在那裏我可以改變的變量「NOM」完美無缺。 值應裝有NG-的init(從餅乾) 它與NG-模型 變化和它應該被保存NG單擊

<div class="container" ng-app="mantis" ng-controller="main"> 

    <!-- Assigné à --> 
    <div class="col-lg-12"> 
      <div class="input-group" ng-init="nom=ReadNom()"> 
       <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span> 
       <input id="nom" type="text" class="form-control" name="nom" placeholder="Assigné à (id)" ng-model="nom"> 
       <span class="input-group-btn"> 
        <button class="btn btn-secondary" type="button" ng-click="WriteNom()">Sauvegarder</button> 
       </span> 
      </div> 
    </div> 
    (...) 

,然後在其他地方,我可以用「NOM」在我需要它通過使用{{NOM}}

它幾乎工作:

  • 當我在輸入框中鍵入,我可以用它
  • 共值適當地改變當我按一下按鈕okie沒有改變,也沒有當我加載頁面
+0

是你的控制器分離或在同一個文件? – Sajeetharan

+0

這是在同一個文件。最後我在其他地方犯了一個錯誤。現在,它看起來像是沒有保存的Cookie。錯誤不是從這裏來的(我在編輯我的問題) –

+0

我改變了我的問題。沒有錯誤,但沒有cookie :) –

回答

1

取出返回部分它的加載,

HTML:

<div class="input-group" ng-init="ReadNom()"> 

控制器:

$scope.ReadNom = function() { 
    $scope.nom = $cookies.get('Nom');   
}; 

DEMO

+0

我改變了絕對沒有=) –

+0

@RonanLamour沒有它,檢查更改和演示 – Sajeetharan

+0

我不明白爲什麼它不在這裏工作... –