Угловая передача $cookie на событие click в директиве
Используя angular, я хочу сохранить значение ввода в 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();
})
}
}
}])
Пожалуйста, дайте мне знать, если вы думаете, что я должен сделать это полностью по-другому.
1 ответ
Извините, ребята, я просто забыл добавить их в параметры функции! Моя вина!
Вот как это работает:
.directive('ndUserSettingCookie', ['$cookies', '$log',function($cookies, $log) {