$ routeProvider.when(..)没有捕获所有的URL
设置:玉,angular,expression,节点。
在我的routeProvider
angular,我有一些问题。 我正在请求一个带有一个参数的url,
var app = angular.module('myApp', ['ngRoute']); app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { $routeProvider //... omitted some url/pages here //start of SPA .when('/dashboard/', { templateUrl: 'partials/index', controller: 'dashIndexCtrl' }) .when('/dashboard/class/:id',{ templateUrl: 'partials/class', controller: 'classCtrl' }) .otherwise({ redirectTo: '/' }); $locationProvider.html5Mode(true); }]);
当我打电话localhost/dashboard/class/TEST
我被redirect到根。
我在服务器端声明我的路线如下:
app.get('/dashboard', routes.dashboard); app.get('/dashboard/partials/:name', routes.partials); app.get('/api/class/:id', api.classGet);
我的控制器名称与routeProvider
匹配。 在这种情况下,控制器代码如下所示:
app.controller('classCtrl', function($scope, $http, $routeParams){ $http.get('/api/class/' + $routeParams.id) .success(function(dataJson){ console.log(dataJson); }); });
为什么routeProvider
缺less这个url? 我在我的控制器中设置了断点,所以我确定它没有被调用。 我的partials/class.jade
也没有被调用。 让我知道如果你需要更多的代码或目录信息。 提前致谢。
经过进一步调查:
如果我去: localhost/dashboard/partials/class
将加载该玉文件。 所以这绝对是控制器。
目录结构,我相信这是我现在的问题….
+---\ | +---\views | +---index.jade | +---dashboard.jade | +---\partials | +---index.jade | +---class.jade
看一下控制台,观察AngularJS试图从/partials/index
加载模板,然后从/dashboard/partials/index
解
在config部分将templateUrlpath设置为/dashboard/partials/index
。
原因:angular-route.js
templateUrl = $sce.getTrustedResourceUrl(templateUrl); if (angular.isDefined(templateUrl)) { next.loadedTemplateUrl = templateUrl; template = $http.get(templateUrl, {cache: $templateCache}). then(function(response) { return response.data; }); }
route path
没有连接templateUrl
– 只需从应用程序的Angular根目录加载tempalteUrl
。
- 使用Nodemailer在Angular中创build联系人表单
- Angular Node – 在打开新的浏览器窗口时向服务器发送令牌
- 如何在Sails.js v0.11中触发自定义套接字事件?
- angularNgRoute“/”的作品,但其余的不?
- Node Express – 存储和检索authentication令牌
- 由于文档的点击事件,angularjs multiselect下拉菜单会使页面变得沉重
- 使用Socket IO,Laravel,Redis,Angularjs向特定用户发送数据
- 如果元素包含值,如何退出量angular器中的testing用例
- 我如何使用LiveReload与AngularJS templateURL