每页访问多个控制器

时间:2015-12-29 15:01:08

标签: angularjs angularjs-directive

为了便于阅读,我已经开始将angularJS控制器移动到单独的文件中,但是我发现这导致在单独的文件中定义的控制器根本不运行。但是,我想知道这是否与我的MakeGray.html与MakeGray.js位于一个单独的文件夹中有关?

http://imgur.com/2XWf8Ge

当选择的下拉菜单项是MakeGray时,它将注入以下html

<html ng-app="app">

  <head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="css/bootstrap.min.css" />
    <link rel="stylesheet" href="css/opencv_css.css" />
  </head>

  <body ng-controller="MakeGray">    

    <div class="row">
      <div class ="col-md-4 col-md-offset-5">
    <!--<button type="button" class="btn btn-primary" ng-model-->
    <button ng-click="MakeGray_Button()">Make Gray</button>
      </div>

    </div>

    <script src="../../js/jQuery.js"></script>
    <script src="../../js/angular.js"></script>
    <script src="../../js/ui-bootstrap-tpls-0.14.3.min.js"></script>    
    <script src="../../js/MakeGray.js"></script>
    <script src="../../js/app.js"></script>

  </body>
</html>

js app

var app = angular.module("app", [
    "MakeGray",
    "ui.bootstrap"
]);

js MakeGray

    var MakeGray = angular.module("MakeGray", ["ui.bootstrap"]);

MakeGray.controller("MakeGray",["$scope", "$http", function($scope, $http){
      alert("HELLO"); // Doesn't even get to hello when I click on the MakeGray button
}]);

我的firebug输出没有错误

1 个答案:

答案 0 :(得分:0)

我不确定你的标题是什么意思,你只是试图访问这个页面上的一个控制器。无论如何,你试图获得的功能......继承人plnkr。我会注意到你必须将警报包装在$ scope函数中,以便用按钮激活它。

var MakeGray = angular.module("MakeGray", ["ui.bootstrap"]);

MakeGray.controller("MakeGray",["$scope", "$http", function($scope, $http){
  $scope.MakeGray_Button = function(){
    alert("HELLO"); // Does get to hello when I click on the MakeGray button
  }
}]);
相关问题