如何从页面中的jquery调用angular js函数控制器

如何从jquery调用angularjs函数或控制器我是这个angularjs的新手这里是我的函数我必须从jquery传递var1和var2我搜索了很多文章,但我无法理解。 请帮我

 function customersController($scope, $http) { $http.get("https://tic.com/testingservice/HttpService.svc/operator/var1/var2") .success(function (response) { $scope.names = response; }); } 

如果我说一般 ,可能会出现在Angularjs app中需要使用jQuery的情况,即使用Angular版本中没有的jQuery插件。

每个Controller都有$ scope / this,如果你有一个ID标签附加到与ng-controller相同的DOM元素,你可以访问一个angular元素的范围:

DOM:

 

你的控制器:

 function MyCtrl($scope) { $scope.anyFunc = function(var1, var2) { // var1, var2 passed from jquery call will be available here //do some stuff here } } 

在jQuery中你这样做,它将访问该控制器并调用该函数:

 angular.element('#myctrl').scope().anyFunc('value1','value2'); 

运行样品

 angular.module('app', []) .controller('MyCtrl', function ($scope) { $scope.anyFunc = function (var1, var2) { alert("I am var1 = " + var1); alert("I am var2 = " + var2); }; }); $(function(){ $("#hit").on("click",function(){ angular.element($("#myctrl")).scope().anyFunc('VAR1 VALUE', 'VAR2 VALUE'); }); }); 
   
Call via jQuery

上述答案都帮助了我很多,最后得到了答案

 $(function(){ $("#hit").on("click",function(){ angular.element($("#myctrl")).scope().anyFunc('VAR1 VALUE', 'VAR2 VALUE'); }); }); function customersController($scope, $http) { $scope.anyFunc = function (var1, var2) { alert("I am var1 = " + var1); alert("I am var2 = " + var2); $http.get("https://tic.com/testingservice/HttpService.svc/operator/var1/var2") .success(function (response) { $scope.names = response; }); }; } 
Call via jQuery

试试这样

 angular.module('app', []) .controller('jqueryCtrl', function ($scope) { $scope.callFromJquery = function (data) { alert(data); }; }); $(function () { $("#press").on("click", function () { angular.element($("#jquery")).scope().callFromJquery('I Called You ! Angular !'); }); }); 
   
Just Press ME