Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么不';t$cookies和$localStorage一起工作?_Javascript_Angularjs_Cookies_Angular Local Storage - Fatal编程技术网

Javascript 为什么不';t$cookies和$localStorage一起工作?

Javascript 为什么不';t$cookies和$localStorage一起工作?,javascript,angularjs,cookies,angular-local-storage,Javascript,Angularjs,Cookies,Angular Local Storage,所以我尝试将angular Cookie和本地存储结合起来使用,我不知道为什么Cookie会这样工作。基本上,console.log(internet)部分向日志键入它未定义,当在put中明确显示时,它的值为12。 <body ng-app="app" ng-controller="Ctrl"> <div ng-controller="internet-test-controller"> <p>hi</p> </br>

所以我尝试将angular Cookie和本地存储结合起来使用,我不知道为什么Cookie会这样工作。基本上,console.log(internet)部分向日志键入它未定义,当在put中明确显示时,它的值为12。

<body ng-app="app" ng-controller="Ctrl">
  <div ng-controller="internet-test-controller">
    <p>hi</p>
  </br>
  </br>
  <button ng-click="$storage.counter = $storage.counter + 1">{{$storage.counter}}</button>
  <div ng-click="$storage.money = $storage.money + 1">{{$storage.money}}</div>
  </div>
</body>

<script>
var the_app = angular.module('app', ['ngStorage', 'ngCookies'])
the_app.controller('Ctrl', function ($scope, $localStorage, $cookies){
    $scope.$storage = $localStorage.$default({
      counter: 1, 
      money: $cookies.get('123abc')
    });

});
the_app.controller('internet-test-controller', ['$cookies', function($cookies) {
    var theInternet = $cookies.get('123abc');
    $cookies.put('123abc', 12);
    console.log(theInternet);
}]);
</script>

<body ng-app="app" ng-controller="Ctrl">
  <div ng-controller="internet-test-controller">
    <p>hi</p>
  </br>
  </br>
  <button ng-click="$storage.counter = $storage.counter + 1">{{$storage.counter}}</button>
  <div ng-click="$storage.money = $storage.money + 1">{{$storage.money}}</div>
  </div>
</body>

<script>
var the_app = angular.module('app', ['ngStorage', 'ngCookies'])
the_app.controller('Ctrl', function ($scope, $localStorage, $cookies){
    $scope.$storage = $localStorage.$default({
      counter: 1, 
      money: $cookies.get('123abc')
    });

});
the_app.controller('internet-test-controller', ['$cookies', function($cookies) {
    var theInternet = $cookies.get('123abc');
    $cookies.put('123abc', 12);
    console.log(theInternet);
}]);
</script>


{{$storage.counter} {{$storage.money} var_app=angular.module('app',['ngStorage','ngCookies')) 应用程序控制器('Ctrl',函数($scope,$localStorage,$cookies){ $scope.$storage=$localStorage.$default({ 柜台:1,, 钱:$cookies.get('123abc')) }); }); 应用程序控制器('internet-test-controller',['$cookies',函数($cookies){ var theInternet=$cookies.get('123abc'); $cookies.put('123abc',12); 日志(INTERNET); }]);
您正在读取(空)cookie,然后在其中存储值12,然后记录原始(空)变量

<body ng-app="app" ng-controller="Ctrl">
  <div ng-controller="internet-test-controller">
    <p>hi</p>
  </br>
  </br>
  <button ng-click="$storage.counter = $storage.counter + 1">{{$storage.counter}}</button>
  <div ng-click="$storage.money = $storage.money + 1">{{$storage.money}}</div>
  </div>
</body>

<script>
var the_app = angular.module('app', ['ngStorage', 'ngCookies'])
the_app.controller('Ctrl', function ($scope, $localStorage, $cookies){
    $scope.$storage = $localStorage.$default({
      counter: 1, 
      money: $cookies.get('123abc')
    });

});
the_app.controller('internet-test-controller', ['$cookies', function($cookies) {
    var theInternet = $cookies.get('123abc');
    $cookies.put('123abc', 12);
    console.log(theInternet);
}]);
</script>
第二次触发internet test controller时,您将得到12(因为它将从将(非空)cookie读入internet开始)

<body ng-app="app" ng-controller="Ctrl">
  <div ng-controller="internet-test-controller">
    <p>hi</p>
  </br>
  </br>
  <button ng-click="$storage.counter = $storage.counter + 1">{{$storage.counter}}</button>
  <div ng-click="$storage.money = $storage.money + 1">{{$storage.money}}</div>
  </div>
</body>

<script>
var the_app = angular.module('app', ['ngStorage', 'ngCookies'])
the_app.controller('Ctrl', function ($scope, $localStorage, $cookies){
    $scope.$storage = $localStorage.$default({
      counter: 1, 
      money: $cookies.get('123abc')
    });

});
the_app.controller('internet-test-controller', ['$cookies', function($cookies) {
    var theInternet = $cookies.get('123abc');
    $cookies.put('123abc', 12);
    console.log(theInternet);
}]);
</script>

顺便说一句,同时使用localStorage和Cookie很少有用或必要,因为它们具有相同的用途。如果您已经依赖localStorage,则根本不需要使用Cookie。

在输入值之前,您正在定义Internet
<body ng-app="app" ng-controller="Ctrl">
  <div ng-controller="internet-test-controller">
    <p>hi</p>
  </br>
  </br>
  <button ng-click="$storage.counter = $storage.counter + 1">{{$storage.counter}}</button>
  <div ng-click="$storage.money = $storage.money + 1">{{$storage.money}}</div>
  </div>
</body>

<script>
var the_app = angular.module('app', ['ngStorage', 'ngCookies'])
the_app.controller('Ctrl', function ($scope, $localStorage, $cookies){
    $scope.$storage = $localStorage.$default({
      counter: 1, 
      money: $cookies.get('123abc')
    });

});
the_app.controller('internet-test-controller', ['$cookies', function($cookies) {
    var theInternet = $cookies.get('123abc');
    $cookies.put('123abc', 12);
    console.log(theInternet);
}]);
</script>