init method
Implementation
void init(View homeView, List<View> views, {String nodeSelector = 'body'}) {
this.homeView = homeView;
registerView(homeView);
views.forEach(registerView);
window.onHashChange.listen((event) {
if (event is HashChangeEvent) {
var oldUrl = event.oldUrl ?? '';
var newUrl = event.newUrl ?? '';
if (oldUrl.contains(urlStateDivider)) {
oldUrl = oldUrl.substring(0, oldUrl.indexOf(urlStateDivider));
}
if (newUrl.contains(urlStateDivider)) {
newUrl = newUrl.substring(0, newUrl.indexOf(urlStateDivider));
}
if (newUrl != oldUrl) {
openPath(window.location.hash.replaceFirst('#', ''));
}
}
});
if (window.location.hash.isEmpty) {
openView(homeView);
} else {
final openUrl = window.location.hash.replaceFirst('#', '');
openPath(openUrl);
}
if (!insertedToPage) {
insertToPage(nodeSelector: nodeSelector);
}
}