76 captures
24 Aug 2019 - 31 Jan 2026
Mar APR May
13
2021 2022 2023
success
fail

About this capture

COLLECTED BY

Organization: Archive Team

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

History is littered with hundreds of conflicts over the future of a community, group, location or business that were "resolved" when one of the parties stepped ahead and destroyed what was there. With the original point of contention destroyed, the debates would fall to the wayside. Archive Team believes that by duplicated condemned data, the conversation and debate can continue, as well as the richness and insight gained by keeping the materials. Our projects have ranged in size from a single volunteer downloading the data to a small-but-critical site, to over 100 volunteers stepping forward to acquire terabytes of user-created data to save for future generations.

The main site for Archive Team is at archiveteam.org and contains up to the date information on various projects, manifestos, plans and walkthroughs.

This collection contains the output of many Archive Team projects, both ongoing and completed. Thanks to the generous providing of disk space by the Internet Archive, multi-terabyte datasets can be made available, as well as in use by the Wayback Machine, providing a path back to lost websites and work.

Our collection has grown to the point of having sub-collections for the type of data we acquire. If you are seeking to browse the contents of these collections, the Wayback Machine is the best first stop. Otherwise, you are free to dig into the stacks to see what you may find.

The Archive Team Panic Downloads are full pulldowns of currently extant websites, meant to serve as emergency backups for needed sites that are in danger of closing, or which will be missed dearly if suddenly lost due to hard drive crashes or server failures.

Collection: ArchiveBot: The Archive Team Crowdsourced Crawler

ArchiveBot is an IRC bot designed to automate the archival of smaller websites (e.g. up to a few hundred thousand URLs). You give it a URL to start at, and it grabs all content under that URL, records it in a WARC, and then uploads that WARC to ArchiveTeam servers for eventual injection into the Internet Archive (or other archive sites).

To use ArchiveBot, drop by #archivebot on EFNet. To interact with ArchiveBot, you issue commands by typing it into the channel. Note you will need channel operator permissions in order to issue archiving jobs. The dashboard shows the sites being downloaded currently.

There is a dashboard running for the archivebot process at http://www.archivebot.com.

ArchiveBot's source code can be found at https://github.com/ArchiveTeam/ArchiveBot.

TIMESTAMPS
The Wayback Machine - http://web.archive.org/web/20220413084627/https://ionicframework.com/docs/angular/lifecycle

Skip to main content

  • v4
  • v3
  • Forum
  • Meetups
  • Blog
  • Twitter
  • Customer Support
  • Enterprise Advisory
  • 日本語
  • Translate
  • twitter logogithub logodiscord logo
    🌜
    🌞
    Version: v6

    Ionic Page Life Cycle

    This guide covers how the page life cycle works in an app built with Ionic and Angular.

    Ionic life cycle events demo

    Angular Life Cycle Events

    Ionic embraces the life cycle events provided by Angular. The two Angular events you will find using the most are:

    Event NameDescription
    ngOnInitFired once during component initialization. This event can be used to initialize local members and make calls into services that only need to be done once.
    ngOnDestroyFired right before Angular destroys the view. Useful for cleanup like unsubscribing from observables.

    For more info on the Angular Component Life Cycle events, visit their component lifecycle docs.

    note

    Components that use ion-navorion-router-outlet should not use the OnPush change detection strategy. Doing so will prevent lifecycle hooks such as ngOnInit from firing. Additionally, asynchronous state changes may not render properly.

    Ionic Page Events

    In addition to the Angular life cycle events, Ionic Angular provides a few additional events that you can use:

    Event NameDescription
    ionViewWillEnterFired when the component routing to is about to animate into view.
    ionViewDidEnterFired when the component routing to has finished animating.
    ionViewWillLeaveFired when the component routing from is about to animate.
    ionViewDidLeaveFired when the component routing to has finished animating.

    The difference between ionViewWillEnter and ionViewDidEnter is when they fire. The former fires right after ngOnInit but before the page transition begins, and the latter directly after the transition ends.

    For ionViewWillLeave and ionViewDidLeave, ionViewWillLeave gets called directly before the transition away from the current page begins, and ionViewDidLeave does not get called until after the new page gets successfully transitioned into (after the new pages ionViewDidEnter fires).

    Ionic life cycle events demo

    How Ionic Handles the Life of a Page

    Ionic has its router outlet, called <ion-router-outlet />. This outlet extends Angular's <router-outlet /> with some additional functionality to enable better experiences for mobile devices.

    When an app is wrapped in <ion-router-outlet />, Ionic treats navigation a bit differently. When you navigate to a new page, Ionic will keep the old page in the existing DOM, but hide it from your view and transition the new page. The reason we do this is two-fold:

    1. We can maintain the state of the old page (data on the screen, scroll position, etc..)
    2. We can provide a smoother transition back to the page since it is already there and doesn't need to be recreated.

    Pages are only removed from the DOM when they are "popped", for instance, by pressing the back button in the UI or the browsers back button.

    Because of this special handling, the ngOnInit and ngOnDestroy methods might not fire when you would usually think they should.

    ngOnInit will only fire each time the page is freshly created, but not when navigated back to the page. For instance, navigating between each page in a tabs interface will only call each page's ngOnInit method once, but not on subsequent visits. ngOnDestroy will only fire when a page "popped".

    Route Guards

    In Ionic 3, there were a couple of additional life cycle methods that were useful to control when a page could be entered (ionViewCanEnter) and left (ionViewCanLeave). These could be used to protect pages from unauthorized users and to keep a user on a page when you don't want them to leave (like during a form fill).

    These methods were removed in Ionic 4 in favor of using Angular's Route Guards.

    A route guard helps determine if a particular action can be taken against a route. They are classes that implement a certain interface. The CanActivate and CanDeactivate interfaces can be used to implement the same type of logic that the removed events ionViewCanEnter and ionViewCanLeave did.

    @Injectable()
    export class AuthGuard implements CanActivate {
    constructor(private authService: AuthService) {}

    canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
    return this.authService.isAuthenticated();
    }
    }

    To use this guard, add it to the appropriate param in the route definition:

    { path: 'settings', canActivate: [AuthGuard], loadChildren: '...',  }

    For more info on how to use route guards, go to Angular's router documentation.

    Guidance for Each Life Cycle Method

    Below are some tips on use cases for each of the life cycle events.

    Contents

  • Ionic Page Events
  • How Ionic Handles the Life of a Page
  • Route Guards
  • Guidance for Each Life Cycle Method
  • Edit this page