2016-09-26 75 views
0

我正在玩Angular JS的教程文件,并试图从我的工作中添加第三个播放库。我下载了该库并将其放入node-modules目录中。在运行本教程时,我会在init函数调用中获得TS1005(缺少分号错误)。我不知道为什么我得到这个错误,因为该行已经有分号。任何人都在关注我的错误?获取“错误TS1005:';'预计“

import { Component }   from '@angular/core'; 

export class RE { 
    enabled: string; 
} 

export class Configuration { 
    pToken: string; 
    sToken: string; 
    r: RE; 
    e: RE; 
} 

@Component({ 
    selector: 'my-app', 

    template: ` 
    <script type="text/javascript" src="node_modules/da/b-cl/ua.js"> 
    <h1>{{title}}</h1> 
    <nav> 
    <a routerLink="/dashboard" routerLinkActive="active">Dashboard</a> 
    <a routerLink="/heroes" routerLinkActive="active">Heroes</a> 
    </nav> 
    <router-outlet></router-outlet> 
`, 
    styleUrls: ['app/app.component.css'] 
}) 

export class AppComponent { 
title = 'Tour of Heroes'; 

rVar: RE = { 
    enabled: "true", 
    url: "https://...." 
}; 

eVar: RE = { 
    enabled: "true", 
    url: "" 
}; 

config: Configuration = { 
pToken: "aa", 
sToken: "a", 
r: this.rVar, 
e: this.eVar 

}; 

init(config); 

} 
+0

什么是'初始化(配置)的东西;'怎么办呢?没有'init'方法或函数可以调用。 –

+0

init是第三方库的方法。我只是在模板中添加了一个引用该库的脚本标记。我相信这可能不是正确的导入方式。我怎么做? – user30646

+0

模板中的脚本标记将被静默移除。你应该使用require()或类似的脚本来包含脚本。 –

回答

1

你不能有

init(config); 

的方法或构造函数外。

只有属性和方法声明才允许在方法或构造函数之外。

这可能会做你想要

export class AppComponent { 
    title = 'Tour of Heroes'; 

    rVar: RE = { 
     enabled: "true", 
     url: "https://...." 
    }; 

    eVar: RE = { 
     enabled: "true", 
     url: "" 
    }; 

    config: Configuration = { 
    pToken: "aa", 
    sToken: "a", 
    r: this.rVar, 
    e: this.eVar 

    }; 

    init(config:config) { 
     // do some initialization here 
    } 

    constructor() { 
     this.init(config); 
    } 
    }