如何从
jquery调用angularjs函数或控制器
我是这个angularjs的新手
这里是我的功能,我必须从jquery传递var1和var2我搜索了很多文章,但我不明白.请帮我
我是这个angularjs的新手
这里是我的功能,我必须从jquery传递var1和var2我搜索了很多文章,但我不明白.请帮我
<script type="text/javascript"> function customersController($scope,$http) { $http.get("https://tic.com/testingservice/HttpService.svc/operator/var1/var2") .success(function (response) { $scope.names = response; }); }
解决方法
如果我说一般,可能会出现在Angularjs应用程序中需要使用jQuery的情况,即使用Angular版本中没有的jQuery插件.
每个Controller都有$scope / this,如果你有一个ID标签附加到与ng-controller相同的DOM元素,你可以访问一个角元素的范围:
DOM:
<div id="myctrl" ng-controller="MyCtrl"></div>
你的控制器:
function MyCtrl($scope) { $scope.anyFunc = function(var1,var2) { // var1,var2 passed from jquery call will be available here //do some stuff here } }
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'); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div id="myctrl" ng-app='app' ng-controller="MyCtrl"> Call via jQuery <button id="hit">Call</button> </div>
快乐帮助!