स्पष्ट रूप से Angular2 के लिए बीटा नया की तुलना में नया है, इसलिए वहां बहुत अधिक जानकारी नहीं है, लेकिन मैं जो कुछ सोचता हूं, वह करने की कोशिश कर रहा हूं।
Https://angular.io वेबसाइट से क्विक-स्टार्ट कोड और अन्य स्निपेट के साथ हैक करने के परिणामस्वरूप निम्नलिखित फ़ाइल संरचना बनाई गई है:
angular-testapp/
app/
app.component.ts
boot.ts
routing-test.component.ts
index.html
निम्नानुसार आबादी के साथ फाइल की जा रही है:
index.html
<html>
<head>
<base href="/">
<title>Angular 2 QuickStart</title>
<link href="../css/bootstrap.css" rel="stylesheet">
<!-- 1. Load libraries -->
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/router.dev.js"></script>
<!-- 2. Configure SystemJS -->
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/boot')
.then(null, console.error.bind(console));
</script>
</head>
<!-- 3. Display the application -->
<body>
<my-app>Loading...</my-app>
</body>
</html>
boot.ts
import {bootstrap} from 'angular2/platform/browser'
import {ROUTER_PROVIDERS} from 'angular2/router';
import {AppComponent} from './app.component'
bootstrap(AppComponent, [
ROUTER_PROVIDERS
]);
app.component.ts
import {Component} from 'angular2/core';
import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS, LocationStrategy, HashLocationStrategy} from 'angular2/router';
import {RoutingTestComponent} from './routing-test.component';
@Component({
selector: 'my-app',
template: `
<h1>Component Router</h1>
<a [routerLink]="['RoutingTest']">Routing Test</a>
<router-outlet></router-outlet>
`
})
@RouteConfig([
{path:'/routing-test', name: 'RoutingTest', component: RoutingTestComponent, useAsDefault: true},
])
export class AppComponent { }
मार्ग-test.component.ts
import {Component} from 'angular2/core';
import {Router} from 'angular2/router';
@Component({
template: `
<h2>Routing Test</h2>
<p>Interesting stuff goes here!</p>
`
})
export class RoutingTestComponent { }
इस कोड को चलाने का प्रयास त्रुटि पैदा करता है:
EXCEPTION: Template parse errors:
Can't bind to 'routerLink' since it isn't a known native property ("
<h1>Component Router</h1>
<a [ERROR ->][routerLink]="['RoutingTest']">Routing Test</a>
<router-outlet></router-outlet>
"): AppComponent@2:11
मुझे यहाँ एक अस्पष्ट रूप से संबंधित मुद्दा मिला; राउटर-लिंक निर्देश angular2.0.0-beta.0 में अपग्रेड करने के बाद टूट गया । हालांकि, उत्तरों में से एक में "काम करने का उदाहरण" प्री-बीटा कोड पर आधारित है - जो अभी भी अच्छी तरह से काम कर सकता है, लेकिन मैं यह जानना चाहूंगा कि मैंने जो कोड बनाया है वह काम क्यों नहीं कर रहा है।
किसी भी संकेत कृतज्ञता प्राप्त होगा!
@Component({selector: "app"}) @View({templateUrl: "app.html", directives: [ROUTER_DIRECTIVES, RouterLink]})
directives: [ROUTER_DIRECTIVES]
[राऊटर-लिंक] से [राऊटरलिंक] तक जुड़ने और बदलने के साथ मुझे अब त्रुटि नहीं मिल रही है।
directives: [ROUTER_DIRECTIVES]
:।