如何从
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
}
}
在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');
});
});
<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>
快乐帮助!