Javascript 在AngularJS中的另一个ng应用程序中使用来自一个ng应用程序的Cookie值

Javascript 在AngularJS中的另一个ng应用程序中使用来自一个ng应用程序的Cookie值,javascript,angularjs,cookies,angular-cookies,Javascript,Angularjs,Cookies,Angular Cookies,我知道在一个项目中使用多个ng应用程序不是一个好的做法,但我的项目被划分为通常互不相关的部分,而且我几乎没有其他选择 我的问题是ngcookie在两个单独的Javascript文件中的持久性。假设我有dashboard1.html链接到controller1.js和dashboard2.html链接到controller2.js 现在,我想访问控制器2中控制器1的cookie值。当我尝试这样做时,结果显示未定义,这意味着我无法访问另一个Javascript文件设置的cookie值 请告诉我如何解

我知道在一个项目中使用多个ng应用程序不是一个好的做法,但我的项目被划分为通常互不相关的部分,而且我几乎没有其他选择

我的问题是
ngcookie
在两个单独的Javascript文件中的持久性。假设我有
dashboard1.html
链接到
controller1.js
dashboard2.html
链接到
controller2.js

现在,我想访问控制器2中控制器1的cookie值。当我尝试这样做时,结果显示未定义,这意味着我无法访问另一个Javascript文件设置的cookie值

请告诉我如何解决这个问题

注意:Javascript文件为每个应用程序定义了各自的ng应用程序和控制器

这是控制器和一个模块的一部分

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应用程序的控制器中,我正在设置一个cookie,它工作正常,并且我在控制台上得到了预期的响应。这在文件controller1.js中

现在,我正在尝试访问controller2.js中的同一个cookie,它由不同的ng应用程序绑定在一起

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

如果您希望在选项卡或域之间共享数据,您可以尝试zendesk的“交叉存储”,只需使用AngularJS实现它,它的工作方式很有魅力

它利用window.postMessage()技术来实现此行为


链接:

如果将{path:'/'}作为一个选项传递,是否有效?能否提供代码?ng cookie指令设置基于会话的cookie。您应该能够正常访问它。还有,你想过在js中设置document.cookie吗?@yts我不明白。传递路径
/
何处?@ChristianHill我将在2分钟内更新我的问题。@OneNote如果您查看此处,您将看到第三个参数接受对象。将{path:'/'}作为该对象传递,然后查看是否有效。