GithubHelp home page GithubHelp logo

Comments (4)

jvandemo avatar jvandemo commented on June 15, 2024

Hi @rockymontana,

If you are in a situation where the ng-if doesn't evaluate to false between different ng-if evaluations, you can use $timeout in your controller to simulate a reset like this:

// This will trigger the notification
$scope.growl.showGrowl = true;

// Reset the value after the notification is displayed
// so the ng-if is toggled again in the next tick
// in JavaScript's event loop
$timeout(function(){
    $scope.growl.showGrowl = false;
});

That should take care of resetting the growl.showGrowl between submissions and allow you to trigger the notifications more than once.

Technical background:

It is important to use $timeout so the $digest cycle is run between the actual changes from true to false and back. This causes the ng-if expression to evaluate to a different value and thus triggering the addition of the DOM element again.

Can you let me know if it works so I can close this issue if OK?

Thanks for using the library!

from angular-growl-notifications.

jvandemo avatar jvandemo commented on June 15, 2024

Close due to lack of response.

from angular-growl-notifications.

mrzulkarnine avatar mrzulkarnine commented on June 15, 2024

I have the same issue. Already applied your solution and its worked! Thank you!

from angular-growl-notifications.

jvandemo avatar jvandemo commented on June 15, 2024

@mrzulkarnine — The latest version actually supports an easier way to tackle this using the on-close attribute:

<button ng-click="showNotification = true">Show notification</button>

<!-- reset showNotification to false again when notification is closed -->
<!-- so the ng-if is triggered every time the button is clicked -->
<growl-notification ng-if="showNotification" on-close="showNotification = false">
  ...
</growl-notification>

Thanks!

from angular-growl-notifications.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.