我知道在一个项目中拥有多个 ng-apps 不是一个好习惯,但我的项目被分成通常彼此不相关的部分,而且我或多或少没有其他选择。
ng-cookie
我的问题是两个单独的 Javascript 文件之间的持久性。假设我有dashboard1.html
链接到controller1.js
并dashboard2.html
链接到controller2.js
.
现在,我想在控制器 2 中访问控制器 1 的 cookie 值。当我尝试这样做时,结果显示未定义,这意味着我无法访问另一个 Javascript 文件设置的 cookie 值。
请告诉我如何解决这个问题。
注意:Javascript 文件为每个应用程序定义了各自的 ng-app 和控制器。
这是控制器和ng-app
一个模块的一部分。
var app = angular.module('mainpageapp', ['ngRoute','ngCookies']);
app.controller('ctrlmainpage', ['$scope', '$timeout','$http', '$route', '$routeParams', '$location', '$rootScope', '$cookies', function ($scope, $timeout, $http, $route, $routeParams, $location, $rootScope, $cookies) {
console.log("Csadad");
$cookies.myFavorite = 'TestCookie';
var favoriteCookie = $cookies.myFavorite;
console.log("Cookie" + favoriteCookie);
现在在这个 ng-app 的控制器中,我正在设置一个 cookie,它可以正常工作,并且我确实在控制台上得到了预期的响应。这是在文件 controller1.js
现在我正在尝试访问由不同 ng-app 绑定在一起的 controller2.js 中的相同 cookie。
var app = angular.module('myApp', ['ngRoute', 'smart-table', 'ngCookies']);
var id = 'hasdh';
app.controller('dashmerctrl', ['$scope', '$timeout','$http', '$route', '$routeParams', '$location', '$rootScope', '$cookies', function ($scope, $timeout, $http, $route, $routeParams, $location, $rootScope, $cookies)
{
var favoriteCookie1 = $cookies.myFavorite;
console.log("Cookie1" + favoriteCookie1);
她我得到未定义的输出。
我想在这个文件中访问同一个 cookie。