2017-07-11 19 views
1

外部のjavascriptクラスの中にメソッドを持っています。そのメソッドを内部のコントローラ関数内で呼び出そうとしています(トグルボタンがcheckedの場合、 i)は、外部メソッドを呼び出したい外部クラスをAngularJSコントローラに呼び出す方法

コントローラ

myApp.factory('PushClient', ['', function() { 

    return PushClient; 
}]); 

myApp.controller('MainController', function (PushClient,$scope, $rootScope, $http, $window){ 

$rootScope.toggleSelection = function toggleSelection(event) { 

    if(event.target.checked){ 

     var PushClient = new PushClient(); 
     PushClient.mypush(); 
    }else { 

    } 
    }; 

} 

外部PushClientクラス

class PushClient { 
constructor(....){...} 
     ............ 

    mypush(){ 
     alert("hiiii"); 
    } 
} 
+0

はここを参照してくださいがhttps:// developer.mozilla.org/ ja/docs/Web/JavaScript/Reference/Classes – gdmanandamohon

答えて

2

あなたはこの

Class: 

class Client { 

    get Name() { 
    return this.mypush(); 
    } 
    mypush(){ 
     return "Imran"; 
    } 

} 

工場のように使用することができます。

app.factory('PushClient', [ function() { 


    return new Client(); 

}]); 

角度のアプリを起動する:

var app = angular.module("testApp", []); 

app.controller("myCtrl",['$scope','PushClient' ,function($scope,PushClient) { 

    $scope.products = ["Milk", "Bread", "Cheese",PushClient.Name]; 


}]); 

とHTMLファイル:

<body ng-app="testApp" ng-controller="myCtrl"> 
    <h1>Hello Plunker!</h1> 
    <ul> 
     <li ng-repeat="x in products">{{x}}</li> 
    </ul> 
    </body> 
関連する問題