2015-08-27 7 views
6

Próbuję utworzyć prosty komponent kątowy2, a w przypadku powiązania dyrektywy z natywnym elementem DOM wystąpił błąd.Nie można powiązać dyrektywy kątowej2 na natywnym elemencie.

Na przykład:

/// <reference path="../../typings/_custom.d.ts" /> 

import { Component, View } from 'angular2/angular2'; 
import { RouterLink } from 'angular2/router'; 

@Component({ 
    selector: 'my-component', 
    directives: [RouterLink] 
}) 

@View({ 
    template: ` 
     <a [router-link]="['/page']">test</a> 
    ` 
}) 

export class MyComponent { } 

=> Nie można wiązać „routerLink”, ponieważ nie jest znana właściwość elementu „< >” i nie ma żadnych dyrektyw dopasowania z odpowiednimi właściwościami .

Co zrobiłem źle?

+1

Hej @tzi katalogu 'dyrektyw 'Właściwość musi iść w adnotacji' Widok'. –

+0

Dzięki @EricMartinez. -_- \/ – tzi

Odpowiedz

11
  • Jak @EricMartinez powiedział, "dyrektywy" jest "Widok" własność
  • Jak powiedział @dSebastien "Router-link" stało się "routerLink"
  • Jak powiedział @ pardeep-Jain „angular2/angular2" stało się "angular2/core", "Widok" adnotacja jest usuwany, nie ma potrzeby linii typowania

Oto prawo kod:

import { Component } from 'angular2/core'; 
import { RouterLink } from 'angular2/router'; 

@Component({ 
    selector: 'my-component', 
    directives: [RouterLink], 
    template: ` 
     <a [routerLink]="['/page']">test</a> 
    ` 
}) 

export class MyComponent { } 
+5

Należy zauważyć, że w wersji beta łącze routera staje się routerem (takie same dla ngFor, ngIf, ...) – dSebastien

1

Od Angular2 jest teraz w wersji beta, więc wprowadzono wiele zmian, tylko kilka z nich, ponieważ to pytanie może pomóc komuś.

(w większości przypadków nie ma potrzeby korzystania z widoku opisu, ponieważ wszystkie funkcjonalność adnotacji widoku jest uwzględniana w adnotacji komponentu).

+2

"@View()" usuwa się adnotację. –

Powiązane problemy