我有我的 MainCtrl(从 $routeProvider 和 html 调用):
function MainCtrl($scope, $routeParams){
//send data(see below) to AngularTemplate for apdate page
}
我有我的函数,可以获取任何数据:
function getData($scope, $http){
/*
* Nav Data(here my navigate-structure fo site)
*/
$http({method: 'GET', url: 'data/main.json'}).
success(function(data){
//work with data and send it to MainCtrl
});
/*
* News Data(Here my news)
*/
$http({method: 'GET', url: 'data/news.json'}).
success(function(data){
//work with data and send it to MainCtrl
});
}
现在我明白了如何使用 .$on 和 .$broadcast 将数据从一个 Ctrl 发送到另一个 Ctrl。但 getData 不是 Angular Controller(它是一个 js 函数),它不理解我的参数($scope 和 $http)。 请告诉我,如何在第一页加载时调用 getdata 并将数据发送到 MainCtrl。 另外,如果您知道,请告诉我我可以用我的 MainCtrl 做什么,他只从 $routeProvider 调用。现在,它首先从 html(ng-controller) 调用,然后从 $routeProvider 调用。
最佳答案
将 getData 函数放入 Angular Controller 中。 它会理解 $scope 和 $http 服务
或者制作一个 mainCtrl 的原型(prototype)方法 set()...并在其中传递 $scope.var = value
MainCtrl.prototype = {
set = function(value){
$scope=value;
}
}
关于javascript - 如何将我的 Controller 与 AngularJS 结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14504002/