2017-01-20 3 views
1

私は1つのオブジェクトに関数のセットを持つjavascript(.js)ファイルを持っています。angular2テンプレートのjavascript関数にアクセスするには?

ここでは、angular2テンプレートで(click)イベントを持つ(.js)ファイルの関数を呼び出したいとします。 どのように電話する? IES.jsバインディングで ..........

var IES = IES|| {}; 

    IES.execute = function (functionName, args) { 
    if(arguments.length>2){ 
     args = [].slice.call(arguments).splice(1); 
    } 
    var context = IES; 
    var namespaces = functionName.split("."); 
    var func = namespaces.pop(); 
    for(var i = 0; i < namespaces.length; i++) { 
    context = context[namespaces[i]]; 
    } 
    return context[func].apply(context, args); 
} 

    IES.do = function(){ 
     console.log('In Do function'); 
    } 
    IES.test = function(){ 
     console.log('In test function'); 
    } 
    IES.test.hello = function(){ 
     console.log('In hello function'); 
    } 
+3

いくつかのコードを追加してくださいをし、達成するには – yurzui

+0

オブジェクトをエクスポート可能にして、それをコンポーネントクラスにインポートします。あなたのロジックをあなたの関数と共に関数にラップします。 Func1を作成し、それを(click)= "Func1()"にバインドします – INgeek

答えて

1

式コンポーネントクラスインスタンスのできる唯一のアクセスメンバー。あなたは、クラス内のフィールドに自分のJSライブラリから機能を割り当て、そのフィールドにclickイベントバインドすることができます:あなたが欲しいものをあなたがしようとしているものを示している

<button (click)="f()">click me</button> 
export class MyComponent { 
    f = fFromJsLib; 
} 
関連する問題