无法在本机元素上绑定 angular2 指令

Can't bind angular2 directive on native element

我尝试创建一个简单的 angular2 组件,但在将指令绑定到本机 DOM 元素时出现错误。

例如:

/// <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 {    }

=> 无法绑定到 'routerLink',因为它不是 '' 元素的已知 属性,并且没有具有相应 [=21= 的匹配指令].

我做错了什么?

  • 正如@EricMartinez 所说,"directives" 是 "View" 属性
  • 正如@dSebastien 所说,"router-link" 变成了 "routerLink"
  • 正如@pardeep-jain 所说,"angular2/angular2" 变成了 "angular2/core","View" 注释被删除,不需要打字行

这是正确的代码:

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 {    }

Angular2 现在处于测试阶段,所以这里有很多关于这个问题的更改可能对某人有帮助。

  • import { Component, View } from 'angular2/angular2'

    改为import {Component, View } from 'angular2/core' 有关根据测试版的所有进口清单,请参见此处

(在大多数情况下不需要使用视图注释,因为视图注释的所有功能都包含在组件注释中)。