javascript - 如何将我的 Controller 与 AngularJS 结合起来?

标签 javascript angularjs

我有我的 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/

相关文章:

javascript - 循环遍历数组的 if 语句不起作用

java - AngularJS + Spring : 415 unsupported media type

AngularJS - 当我在选择标签中使用 ng-repeat 时添加额外的空白选项

javascript - JavaScript 和 AngularJS 中的正则表达式与 ng-change 不匹配

javascript - 运行 http-server 时出现 ERR_INVALID_REDIRECT

javascript - Mandrill 文件给出 500 错误但仍在执行功能

javascript - 使用 bootstrap 和 django 的异步表单

angularjs - 错误 : [$sce:unsafe] Attempting to use an unsafe value in a safe context

angularjs - 使用 AngularJs 处理 Play scala 发送的分块数据

javascript - 什么时候不应该对 JavaScript 进行 gzip 压缩?