2016-07-29 2 views
0

Использование углового, я хочу сохранить значение ввода в файл cookie с помощью директивы при нажатии кнопки сохранения. Вот мой код, я не был уверен, следует ли мне использовать функцию ссылок или директиву контроллера, но в любом случае $ cookie, конечно, неизвестно в обработчике событий click. Как передать $ cookie или $ log функции on Click?

.directive('ndUserSettingCookie', ['$cookies', '$log',function() { 
return { 
    link: function(scope, el, attrs) { 
     scope.savedMsg = ' items by page'; 
     var setting = []; 
     scope.itemsByPage = 18; 
     scope.itemsByPage = (typeof setting.itemsByPage !== "undefined")? setting.itemsByPage :scope.itemsByPage; 

     el.on('click', function() {      

      var now = new Date(), 
      // this will set the expiration to 12 months 
      expireDate = new Date(now.getFullYear()+1, now.getMonth(), now.getDate()); 

      $cookies.putObject('setting.itemsByPage', scope.itemsByPage, {'expires': expireDate}); 
      scope.savedMsg = scope.itemsByPage + " items per page saved to your settings!"; 

      scope.$apply(); 
     }) 
    } 
} 
}]) 

Пожалуйста, дайте мне знать, если вы думаете, что я должен сделать это полностью по-другому.

ответ

0

извините, ребята, я просто забыл добавить их в параметры функции! Моя вина!

Вот как это работает:

.directive('ndUserSettingCookie', ['$cookies', '$log',function($cookies, $log) { 
Смежные вопросы