29

Currently, I just call toastr.success('my message') within a controller where required. This work fine, but it feels a bit dirty to me.

Is there a 'best practice' or recommended 'angularjs' way of using the toastr.js library?

1 Answer 1

61

Yes. Pretty simply:

app.factory('notificationFactory', function () {
    return {
        success: function (text) {
            toastr.success(text,"Success");
        },
        error: function (text) {
            toastr.error(text, "Error");
        }
    };
});

Resolve factory in controller. Customize messages, notifications/etc in factory.

Despite the idea that code adds another abstraction, it's really effective.

Sign up to request clarification or add additional context in comments.

3 Comments

Not to mention it becomes very easy to mock that factory out within a test case.
There is an an AngularJS port of the toastr that can be useful.
I also wrap toaster and then inject 'toastr' to the factory: app.value('toastr', toastr)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.