app.js
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'ngCordova', 'ngCookies'])
.run(function ($ionicPlatform) {
$ionicPlatform.ready(function () {
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
StatusBar.styleLightContent();
}
});
})
.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('HomePage', {
url: '/HomePage/:id',
templateUrl: 'templates/HomePage.html',
controller: 'HomePageCtrl'
})
.state('login', {
url: '/login',
templateUrl: 'templates/Login.html',
controller: 'LoginCtrl'
});
$urlRouterProvider.otherwise('/login');
});
controllers.js
angular.module('starter.controllers', [])
.controller('LoginCtrl', function ($scope, LoginService, $ionicPopup, $state, $location, $http, $cookieStore) {
$cookieStore.put('mycookie', 'cookie value');
var favoriteCookie = $cookieStore.get('mycookie');
alert(favoriteCookie);
})
问题:
我是Angular JS Ionic的新手。我正在尝试在angularjs中使用 cookie 。
当我使用 $ cookieStore
时我低于例外:
例外:
Uncaught Error: [$injector:modulerr] Failed to instantiate module starter due to:
Error: [$injector:modulerr] Failed to instantiate module ngCookies due to:
Error: [$injector:nomod] Module 'ngCookies' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
我将 ngCookies 添加到 ngular.module 但是它对我不起作用。
我到底错过了哪里?我怎样才能在角度js中使用cookie。
任何帮助将不胜感激。
感谢。
答案 0 :(得分:3)
我发现$ cookies在Cordova / Phonegap应用程序中不起作用,因为这些页面是作为文件URL提供的。在普通的桌面浏览器中,如果您从文件系统提供页面,它也无法正常工作 - 它在通过服务器或本地主机提供服务时正常工作。
所以我假设角度$ cookies不适用于Cordova应用程序。 也许这是一个解决方法?我只是不知道,也许有人会给出答案。
答案 1 :(得分:1)
可能您错过了添加angular-cookies.js
文件
若是,请加上它。