2015-09-18 11 views
8

angularjs機能にjQueryの関数を呼び出す方法:私はのようにjqueryの機能をしたようにどのように私は、私の角度の関数でjQueryの関数を呼び出すことができることを知ってほしい

function testData(){ 
    // code 
} 

と私は角をしました機能は次のように:そう

myApp.controller(AppCtrl,['$scope', function($scope) { 
    $scope.imagesData = function(){ 
     //here I need to call the function: testData() 
    } 
}]); 

、私はどのように私はangularjs関数内の私のテストデータを()を呼び出すことができますことをお知らせください($ scope.imagesData())。前もって感謝します。

+0

あなたがチェックアウトする必要があります(http://stackoverflow.com/questions/14994391/thinking-in-angularjs [私はjQueryのバックグラウンドを持っている場合は、「AngularJSにお考えですか?] – DelightedD0D

+0

あなたの関数が同じスコープ(jQueryとAngularJSの両方から見える)内にある限り、すばらしいはずです。 [jsFiddle](https://jsfiddle.net/sqc84y4p/) –

答えて

9

ユーザー定義関数はjQueryに依存しません。 jQueryの組み込み関数を呼び出す場合は、jQueryの前にangularjsを含める必要があります。ここであなたは次のことを行うことができます

myApp.controller(AppCtrl,['$scope', function($scope) { 
    $scope.imagesData = function() { 
     testData();//calling jquery function visible in given scop 
     jQuery('#id').next();//getting element sibling 
    } 
}]); 
+1

こんにちは、それをありがとう、それは働いた。 – Dhana

1

angularjs機能との競合を避けるためにjQuery接頭辞を使用する必要があります。

1)JSファイルを作成し、JSファイルに例えばその機能を置く:MyFunctionを.jsには、メソッドテストデータが含まれます。

2)その参照を与えるには、/ htmlの

3)あなたが直接コントローラ内の関数を呼び出すことができますでangularjs前にそれを含めます。

しかし、jqueryを使用する目的では、Jquery()を使用して任意のメソッドを呼び出すことができます。これはangularJsの前にJqueryパッケージを追加するだけです。

+0

こんにちは、ありがとう、それも私のソリューションを与えた。 – Dhana

0

私はこれを試しました。 のJs:

function testData(){ 

    return ("entering"); 
} 

var myapp = angular.module("myapp",[]); 
myapp.controller("ctrl",['$scope', function($scope) { 

    $scope.imagesData = testData; 

    console.log($scope.imagesData()); 
}]); 

の作業Jsbin

関連する問題