angular scope update problem

Hi,

I have the following code:
app.directive('compradoDirective',function($localStorage){

    return{
        restrict: 'A',
        link: function(scope,elem,attrs){
            elem.on('click',function(){
                if (elem.hasClass('alert alert-success')){
                    elem.removeClass('alert alert-success');

                }else {
                    elem.addClass('alert alert-success');
                        scope.carrito = parseFloat(scope.carrito) + parseFloat(elem.attr('precio'));
                        $localStorage.carrito = scope.carrito;



                }

            })
        }

    }


});

Open in new window


In the other page i have {{carrito}}, but it doesn't update until i refresh the page, any idea?
LVL 1
joyacv2Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Evan CutlerVolunteer Chief Information OfficerCommented:
Hi,
can you show your controller  please?
Thanks
0
BigRatCommented:
I'd first rewrite

app.directive('compradoDirective',function($localStorage){
...
});

to

app.directive('compradoDirective',['$localStorage',function($localStorage){
......
}]);

Second the link function only adds an onClick handler to element, and that happens only once. But ths onClick function refers to scope. What scope? The scope of the element to which directive applies is defined by the ngModel/Controller for that element. If this is not in the correct context you might have to "require" the controller. Or you might do this another way. In any event I don't quite see what is being updated by the onClick. You might try testing this with Chrome (F12 key) to see if any strange errors regarding scope turn up.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
JavaScript

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.