【发布时间】:2015-11-11 22:11:55
【问题描述】:
我在获取控制器以执行我的路由时遇到问题。
基本上,我按如下方式注册我的路线:
var App = angular.module('App', ['ngRoute', 'routesControllers']);
App.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/', {
template: " ",
controller: 'NewOrderCtrl'
}).
when('/:companyName/:orderNumber', {
template: " ",
controller: 'ViewOrderCtrl'
}).
otherwise({
redirectTo: '/'
});
}]);
在这里,我没有在模板中定义任何内容,因为我使用我的路由来触发 ajax GET。
我的控制器如下:
var routesControllers = angular.module('routesControllers', []);
routesControllers.controller('NewOrderCtrl', ['OrderManagerFactory', function(OrderManagerFactory) {
alert('NewOrderCtrl fired!');
//create a new empty company and order
OrderManagerFactory.createNewCompany();
OrderManagerFactory.createNewOrder();
}]);
routesControllers.controller('ViewOrderCtrl', ['OrderManagerFactory', '$routeParams', function(OrderManagerFactory, $routeParams) {
alert('ViewOrderCtrl fired!');
//Fire a bunch of ajax calls using the data from $routeParams
}]);
我还为我的空视图放置了一个 div:
<div ng-view ng-controller="ViewOrderCtrl"></div>
例如,当我访问#/tesla/x123x 时,我什么也得不到。任一控制器中的 alert() 都不执行...
有人可以帮忙吗?我错过了什么?
【问题讨论】:
-
您能在控制台上看到任何错误吗?你加载脚本的顺序是什么? (你在加载 angularjs 路由吗?)
-
控制台为空。加载脚本的顺序如下:angular.js、angular-route.js、app.js
标签: javascript angularjs