首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS,$cookieStore内部指令

AngularJS,$cookieStore内部指令
EN

Stack Overflow用户
提问于 2013-11-06 23:42:39
回答 2查看 6K关注 0票数 5

我试图通过在我的自定义指令中使用$cookieStore来实现我的目标,但它似乎不起作用。

简单的说,

代码语言:javascript
复制
$cookieStore.put('setMe', 123); ( INSIDE DIRECTIVE )

然后取内部控制器

代码语言:javascript
复制
$cookieStore.get('setMe'); ( IN CONTROLLER )

这给了我

代码语言:javascript
复制
undefined.

有什么解决办法吗?这是否可能在指令内部设置cookie,然后在控制器中访问它?

EN

回答 2

Stack Overflow用户

发布于 2013-11-07 05:36:12

控制器

代码语言:javascript
复制
var App = angular.module('App',['ngCookies']);
App.controller('cookieCtrl',function($scope, $cookieStore){
           var name =  $cookieStore.get("Name");
           console.log(name);
});

指令

代码语言:javascript
复制
App.directive('cookie', function ($cookieStore) {

     return{
         restrict:"E",
         template:"<div>  hello </div>",
         link: function (scope, element, attrs) {
                   $cookieStore.put("Name", 'Nishchit');
         }
     }
});

代码语言:javascript
复制
  <html ng-app="App">
  <body ng-controller="cookieCtrl">
        <div>
              <cookie> </cookie>
        </div>
  </body>
  </html>

注意到不要忘记在html文件中包含角形烹饪. is文件,这是由我和100%的工作来测试的

票数 2
EN

Stack Overflow用户

发布于 2013-11-07 09:36:39

这是单击事件的示例。

控制器

代码语言:javascript
复制
var App = angular.module('App',['ngCookies']);
App.controller('cookieCtrl',function($scope, $cookieStore){

       $scope.addCookie = function(){
              $cookieStore.put("Name", 'Nishchit');
       }

       $scope.getCookie = function(){                
             $scope.cookieName =  $cookieStore.get("Name");
             console.log( $scope.cookieName);
       }
});

指令

代码语言:javascript
复制
App.directive('cookie', function ($cookieStore) {

     return{
         restrict:"E",
         scope:{click:"&"},
         template:"<div ng-click='click()'>  hello </div>",
         link: function (scope, element, attrs) {                      
         }
     }
});

代码语言:javascript
复制
  <html ng-app="App">
  <body ng-controller="cookieCtrl">
        <div>
              <cookie click="addCookie()"> </cookie>  {{cookieName}}

              <button ng-click="getCookie()">get Cookie </button>
        </div>
  </body>
  </html>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19825217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档