AngularJs多个控制器,ng-click和ng-view

时间:2015-09-18 21:38:20

标签: angularjs angularjs-ng-click

这可能是我在教程中遗漏了一些东西或得到错误的结论,所以请耐心等待。

我有我的应用....

var shepApp = angular.module('shepApp', [
  'ngRoute',
  'ui-notification',
  'shepControllers',
  'shepFilters',
  'shepServices'
]);

shepApp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/galaxies', {
        templateUrl: "partials/galaxies.html",
        controller: 'GalaxyListCtrl'
      }).
  }]);

我的控制器就是这样......

var shepControllers = angular.module('shepControllers', []);

shepControllers.controller('GalaxyListCtrl', ['$scope', '$location', 'Notification', 'Galaxy', function($scope, $location, Notification, Galaxy) {
  $scope.galaxys = Galaxy.query();
  $scope.blah = function(){
        alert(123);
  }
}]);

shepControllers.controller('GalaxyDetailCtrl', ['$scope', '$routeParams', '$location', 'Notification', 'Galaxy', function($scope, $routeParams, $location, Notification, Galaxy) {
  $scope.galaxy = Galaxy.get({slug: $routeParams.slug});
}]);

我的galaxies.html部分使用ng-click包含以下HTML。

<button ng-click="blah"></button>

我的想法是,当我的路由为blah并且正在使用的控制器为/galaxies时,将显示点击事件的GalaxyListCtrl函数 - 但警报根本不会被触发

我认为我错过了一切都融合在一起的方式。

1 个答案:

答案 0 :(得分:2)

使用函数名称后跟括号来调用不带参数的函数:

ng-click="blah()"