Question What is the correct way to install Router and RouterLink in Angular2 Dart .
main.dart
import 'package:angular2/angular2.dart'; import 'package:angular2/router.dart'; import 'package:angular2/src/reflection/reflection.dart' show reflector; import 'package:angular2/src/reflection/reflection_capabilities.dart' show ReflectionCapabilities; @Component( selector: 'home' ) @View( template: '<h1>I am Home</h1><a router-link="child">Go Child</a>', directives: const [RouterOutlet, RouterLink] ) class Home {} // // // @Component( selector: 'child' ) @View( template: '<h1>I am Child</h1><a router-link="home">Go Home</a>', directives: const [RouterOutlet, RouterLink] ) class Child {} // // // @Component( selector: 'index' ) @View( template: ''' <router-outlet></router-outlet> ''', directives: const [RouterOutlet, RouterLink] ) class Index { Router router; Index(Router this.router) { router.config({ 'path': '/child', 'component': Child, 'alias': 'child'}); router.config({ 'path': '/', 'component': Home, 'alias': 'home'}); } } main() { reflector.reflectionCapabilities = new ReflectionCapabilities(); bootstrap(Index, routerInjectables); }
Here is my approach:
In router_link.dart I see newHref returning as null
onAllChangesDone() { if (isPresent(this._route) && isPresent(this._params)) { var newHref = this._router.generate(this._route, this._params); this._href = newHref; // Keeping the link on the element to support contextual menu `copy link` // and other in-browser affordances. print('newHref'); print(newHref); DOM.setAttribute(this._domEl, "href", newHref); }
This results in an error and kills the navigation request.
Expected STACK TRACKING string: 0 BlinkElement.setAttribute_Callback_2 (dart: _blink: 7565)
1 BlinkElement.setAttribute_Callback_2_ (dart: _blink: 7566)
2 Element.setAttribute (dart: html: 13673)
3 BrowserDomAdapter.setAttribute (package: angular2 / src / dom / browser_adapter.dart: 258: 25)
4 RouterLink.onAllChangesDone (package: angular2 / src / router / router_link.dart: 66: 23)
angular dart angular-ui-router
Jack Murphy May 17 '15 at 9:46 p.m. 2015-05-17 21:46
source share