我有一个代码,它在控制器中获取一个json 我需要知道如何从外部控制器调用内部方法。
var app;
(function (){
app = angular.module("gallery", []);
app.controller("galleryController", ['$scope','$http', function($scope, $http){
var gallery = this;
gallery.data = [];
gallery.getJson = function(){
$http.get('/urltojson/main-hero.json').success(function(data){
gallery.data = data;
});
}
this.getJson();
}]); })();
是否可以从控制器外部调用getJson?
答案 0 :(得分:1)
使用angular.element
并获取您要在其中调用方法的控制器中的元素的scope()
。
示例:
<div ng-controller="galleryController"><span id="test"></span></div>
你可以这样做:
var scope = angular.element( document.querySelector( '#test' ) ).scope();
scope.getJson();