javascript - 带有 Cookie 的 Ng 模型

标签 javascript angularjs cookies angular-ngmodel

我正在尝试从 angular.js 主页获取第一个示例并添加 cookie 支持。

这是我目前所拥有的:https://jsfiddle.net/y7dxa6n8/8/

它是:

<div ng-app="myApp">
  <div ng-controller="MyController as mc">
    <label>Name:</label>
    <input type="text" ng-model="mc.user" placeholder="Enter a name here">
    <hr>
    <h1>Hello {{mc.user}}!</h1>
  </div>
</div>

var myApp = angular.module('myApp', ['ngCookies']);

myApp.controller('MyController', [function($cookies) {

           this.getCookieValue = function () {
                   $cookies.put('user', this.user);
                   return $cookies.get('user');
            }

           this.user = this.getCookieValue();
}]);

但是不行,我一直在努力学习angular。 谢谢

最佳答案

我建议您在应用模块中创建这样的服务:

app.service('shareDataService', ['$cookieStore', function ($cookieStore) {

var _setAppData = function (key, data) { //userId, userName) {
    $cookieStore.put(key, data);
};

var _getAppData = function (key) {
    var appData = $cookieStore.get(key);
    return appData;
};
return {
    setAppData: _setAppData,
    getAppData: _getAppData
};
}]);

在 Controller 中注入(inject)shareDataService来设置和获取cookie值 作为:

//set
var userData = { 'userId': $scope.userId, 'userName': $scope.userName };
shareDataService.setAppData('userData', userData);

//get
var sharedUserData = shareDataService.getAppData('userData');
$scope.userId = sharedUserData.userId;
$scope.userName = sharedUserData.userName;

工作 fiddle :https://jsfiddle.net/y7dxa6n8/10/

我在两个 Controller 之间使用了 cookie 服务。填写文本框以查看其使用方式。

关于javascript - 带有 Cookie 的 Ng 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30964795/

相关文章:

javascript - MatDatepicker : No provider found for DateAdapter. 您必须在应用程序根目录中导入以下模块之一:MatNativeDateModule

javascript - 使用谷歌云端点上传文件到谷歌应用程序引擎应用程序

node.js - 在 express Response 对象上获取 cookie 数据?

javascript - AngularJs $http.post() 发送数据空状态:-1

javascript - 在 Angular 指令中附加 D3 元素

python - BeautifulSoup 登录 - 如何获取具有特定属性和值的 crsf 字段

Android Hybrid App + Volley、Cookies 和 WebView

javascript - getElementsByClassName 不返回固定答案

javascript - 在每次转换时滚动到顶部 react-router-dom v6

javascript - 如何将 jQuery 转换为 AngularJS