Angular.js $ cookies:未正确保存/加载

时间:2016-11-30 16:54:08

标签: angularjs cookies

我正在尝试使用一个可以由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(来自cookie)加载该值 它随ng-model而变化 它应该用ng-click

保存
<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}}

它几乎正常工作:

  • 当我在输入框中输入并且我可以使用它时,该值已正确更改
  • 当我点击按钮时,cookie没有改变,当我加载页面时它没有被加载

1 个答案:

答案 0 :(得分:1)

删除返回部分

<强> HTML:

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

<强>控制器:

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

<强> DEMO