3

我使用 angular 2.0 的最新 alpha 版本,然后我使用 es5 作为它的代码。当我将指令添加到视图注释中时,我遇到了错误。

plunkr: http ://plnkr.co/edit/eJqmvaiDyypPOexr0IgF

place.annotations = [
    new angular.ComponentAnnotation({
        selector: 'ph-place',
        injectables: [Service.Places]
    }),
    new angular.ViewAnnotation({
        template: '<ul><li *for="#place of places">{{ place }}</li></ul>',
        directives: [angular.For]
    })
];
4

2 回答 2

2

来自 gdi2290 的 github angular 2.0 问题的评论

@VirtualOverride 问题是 angular.io 上的文档仍然过时。这是您使用 alpha.25 plnkr.co/edit/ks0Sbv?p=preview 的示例,对其进行了一些重构,并在 Utils 中进行了帮助注释。如果您愿意,我还将原始版本添加为旧版本”

我需要做一些改变:

主要问题,在指令设置中将 Injectables 更改为 appInjector,这已在新的 alpha 版本中进行了更改。

new angular.ComponentAnnotation({
        selector: 'ph-place',
        appInjector: [Service.Places]
    }),

更改为 NgFor:

 new angular.ViewAnnotation({
        template: '<ul><li *ng-for="#place of places">{{ place }}</li></ul>',
        directives: [angular.NgFor]
    })

演示

于 2015-05-31T21:54:51.693 回答
0

指令“For”现在已更改为 NgFor:

place.annotations = [
    new angular.ComponentAnnotation({
        selector: 'ph-place',
        injectables: [Service.Places]
    }),
    new angular.ViewAnnotation({
        template: '<ul><li *ng-for="#place of places">{{ place }}</li></ul>',
        directives: [angular.NgFor]
    })
];
于 2015-05-31T15:57:13.440 回答