2017-06-21 60 views
0

叫我JSAngular2Demo.js在apps文件夾包含一個簡單的函數: -JavaScript函數沒有得到來自打字稿

function sample() 
{ 
    alert("sample"); 

} 

我想打電話從apps.component.ts

對於這個這個功能: -

import {Component} from "@angular/core"; 
import "app/JSAngular2Demo.js"; 

declare function sample(): any; 
@Component({ selector: "my-app", templateUrl:"app/UIAngular.html" }) 
export class AppComponent { 
    strWelcomeMessage: string = "Welcome Sagar"; 
    constructor() { 
     sample.prototype.sample(); 
    } 
} 

但是這個函數沒有被調用。

可能的原因是什麼?

+0

下爲什麼你們不使用打字稿? –

回答

1

導出在JSAngular2Demo.js像功能: -

module.exports = { 
     sample: function() { 

      alert("sample"); 
     } 

    } 

apps.component.ts

import {sample} from './JSAngular2Demo'; 


    @Component({ selector: "my-app", templateUrl:"app/UIAngular.html" }) 
    export class AppComponent { 
     strWelcomeMessage: string = "Welcome Sagar"; 
     constructor() { 
      sample(); 
     } 
    } 

並添加"allowJs": true,tsconfig.json文件,以允許js文件compilerOptions

+0

從'./JSAngular2Demo'導入{sample};不起作用 –

+0

您是否曾嘗試在'Index.html'中添加'JsAngularDemo.js'的引用? –

+0

是的..我已經加入 –