Angular 2设置问题

Joh*_*rds 1 angularjs typescript angular

我试图让一个有角度的2应用程序工作,并与升级适配器有一些问题.

这是我的代码:

boot.ts

/// <reference path="..\..\typings\main.d.ts" />

import {bootstrap}    from 'angular2/platform/browser' 
import {UpgradeAdapter} from 'angular2/upgrade';
export const upgradeAdapter = new UpgradeAdapter();
import {AppComponent} from './app.component';
bootstrap(AppComponent);


angular.module('app', []).directive('myApp', upgradeAdapter.downgradeNg2Component(AppComponent));
Run Code Online (Sandbox Code Playgroud)

当我尝试使用我的typescript gulp动作编译它时,此代码抛出以下异常.

gulp:src\app\boot.ts(11,46):错误TS2345:类型'Function'的参数不能分配给'any []'类型的参数.在行:1 char:1 + gulp compile-ts + ~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(src\app\boot.ts ... f type'any [] '.:String)[],RemoteException + FullyQualifiedErrorId:NativeCommandError

"功能"类型中缺少属性"推送".

现在,如果我在boot.ts中手动创建指令,则不会发生错误.

angular.module('app', []).directive('tabsPane', TabsPane);


function TabsPane(itemTabs) {

    return {
        restrict: 'E'
    };


}
Run Code Online (Sandbox Code Playgroud)

所以在升级Adapter.downgradeNg2Component(AppComponent)中发生了很明显的事情,但我无法弄清楚是什么.

似乎在downgradeNg2Component返回"any"和指向IDirectiveFactory的指令()之间存在类型问题,但这是角度2样本的确切格式,所以我不知道还有什么可以尝试.

有任何想法吗?谢谢.

Joh*_*rds 12

使用以下代码修复它.

angular.module('app', []).directive('myApp', <angular.IDirectiveFactory>adapter.downgradeNg2Component(AppComponent) );
Run Code Online (Sandbox Code Playgroud)