/ / angular passando $ cookie para um evento de clique em uma diretiva - angularjs, angular-cookies

passagem angular $ cookie para no evento click em uma diretiva - angularjs, angular-cookies

Usando angular, quero salvar o valor de umentrada para um cookie usando a diretiva ao clicar no botão salvar. Aqui está o meu código, eu não tinha certeza se deveria usar a função de link ou a diretiva do controlador, mas de qualquer forma $ cookie é obviamente desconhecido no manipulador de eventos click. Como posso passar $ cookie ou $ log para a função ao clicar?

.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();
})
}
}
}])

Por favor, deixe-me saber se você acha que devo fazer isso de outra maneira totalmente

Respostas:

0 para resposta № 1

desculpe pessoal, eu apenas esqueci de adicioná-los aos parâmetros da função! Foi mal!

É assim que funciona:

.directive("ndUserSettingCookie", ["$cookies", "$log",function($cookies, $log) {