2

プロジェクトに複数の ng-apps を含めることはお勧めできませんが、私のプロジェクトは一般的に互いに関連していないセグメントに分割されています。さらに、多かれ少なかれ他に選択肢がありません。

ng-cookie私の問題は、 2 つの別々の Javascript ファイルの間で永続性があることです。dashboard1.htmlにリンクされcontroller1.js、にdashboard2.htmlリンクされているとしましょうcontroller2.js

ここで、コントローラー 2 のコントローラー 1 の Cookie 値にアクセスしたいと思います。これを実行しようとすると、結果は未定義と表示され、別の Javascript ファイルによって設定された Cookie 値にアクセスできないことを意味します。

この問題を解決する方法を教えてください。

注 : Javascript ファイルには、それぞれの ng-app が定義されており、各アプリケーションのコントローラーがあります。

これはコントローラーでありng-app、1 つのモジュールの一部です。

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 にあります

今、私は controller2.js で同じ cookie にアクセスしようとしていますが、これはすべて異なる ng-app によってバインドされています。

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); 

Her I は出力として未定義になります。

このファイル内の同じ Cookie にアクセスしたい。

4

1 に答える 1