JavaScript外部函数调用AngularJS的函数、$scope

时间:2024-08-02 16:35:56

x

场景:

需要在用FusionCharts画的柱状图中添加点击事件,But弹出框是Angularjs搞的,我想的是直接跳到弹出框的那个路由里,然后在弹出框的控制器中绑定数据即可;

/*  点击事件  */
var FusionChartsClick = {
getlist_click: function (review, source) {
//先跳到路由指定的页面(是一个弹出框,来显示列表)
location.href = 'http://localhost:21002/index.html#/xxxx/xxxx.list'
$.ajax({
type: 'POST',
url: "服务接口路径",
//contentType:"application/json; charset=utf-8;",//这行不注释说不允许跨域调用!!!
success: function (_data) {
         //重点!!!!!!!
var appElement = document.querySelector('[ng-controller=u_controller_name]');
var scope = angular.element(appElement).scope();
//alert($scope);
var data = JSON.parse(_data);//eval("(" + e + ")");
         //将得到的数据data赋值给$scope下的list_data
scope.list_data= JSON.parse(data["list"]);
         //调用方法后,可以重新绑定,在页面同步
scope.$apply();
},
error: function () { }
});
}

参考文章

x