2016-04-06 109 views
0

在我的angular2項目中,我使用grunt來自動編譯我的打字稿文件。Typescript with angular2 and grunt error TS2304:找不到名字

一切都做得很好我的文件編制,但我總是得到錯誤

app/webapp/ng2/audit_logs/auditLogs.ts(2,3): error TS2304: Cannot find name 'app'. 
app/webapp/ng2/audit_logs/auditLogs.ts(3,3): error TS2304: Cannot find name 'http'. 
app/webapp/ng2/audit_logs/auditLogs.ts(3,10): error TS2304: Cannot find name 'ng'. 
app/webapp/ng2/audit_logs/auditLogs.ts(6,3): error TS2304: Cannot find name 'app'. 
app/webapp/ng2/audit_logs/auditLogs.ts(7,5): error TS2304: Cannot find name 'ng'. 
app/webapp/ng2/main.ts(16,24): error TS2304: Cannot find name 'upgradeAdapter'. 

我試過Definetlytyped,但我沒有得到成功。

我不知道爲什麼?

請幫我解決以下,這是我的main.ts and auditLogs.ts文件看看,讓我知道我做錯了

Main.ts文件

/// <reference path="../../../node_modules/angular2/typings/browser.d.ts" /> 


var window: any = { 
    giddh: undefined 
}; 

import {UpgradeAdapter} from 'angular2/upgrade'; 

var adapter = new UpgradeAdapter(); 
var app = window.giddh.webApp; 

adapter.bootstrap(document.body, ['giddhWebApp']); 

// downgrade ng2 components to ng1 directives 
app.directive('myApp', upgradeAdapter.downgradeNg2Component(app.AppComponent)); 

auditLogs.ts文件

(function(giddh: any) { 
    app = giddh.webApp 
    http = ng.http 


    app.AppComponent = 
    ng.core.Component({ 
     selector: 'my-app', 
     templateUrl: '' 
    }).Class({ 
     constructor: function(http: any) { 
     this.test = new test(1020); 
     } 
    }); 

    class test { 
    val: string; 
    constructor(data: any){ 
     this.val = data; 
    } 
    } 

})(window.giddh || (window.giddh = {})); 

var window: any = { 
    giddh: undefined 
} 
declare var require: any; 
import {Component} from 'angular2/core'; 

@Component({ 
    selector: 'my-app', 
    template: '/public/webapp/ng2/audit_logs/audit-logs.html' 
}) 

export class AppComponent { 
} 
+0

我想你會需要初始化vairable。 'var app = giddh.webApp'而不是僅僅使用'app' – Subash

回答

相關問題