Reputation: 5
Framework: MEAN.JS v.0.4.2
I created new "orders" module using YO generator. Both orders.list
and orders.view
works fine. I can browse orders.list
state directly using url DOMAIN/orders
but I can not browse orders.view
state directly using url for example DOMAIN/orders/id123
. There is no error but the page is empty. Here is my route config file:
(function () {
'use strict';
angular
.module('orders')
.config(routeConfig);
routeConfig.$inject = ['$stateProvider'];
function routeConfig($stateProvider) {
$stateProvider
.state('orders', {
abstract: true,
url: '/orders',
template: '<ui-view/>'
})
.state('orders.list', {
url: '',
templateUrl: 'modules/orders/client/views/list-orders.client.view.html',
controller: 'OrdersListController',
controllerAs: 'vm',
resolve: {
orderResolve: getOrders
},
data: {
pageTitle: 'Orders List'
}
})
.state('orders.create', {
url: '/create',
templateUrl: 'modules/orders/client/views/form-order.client.view.html',
controller: 'OrdersController',
controllerAs: 'vm',
resolve: {
orderResolve: newOrder
},
data: {
pageTitle: 'Orders Create'
}
})
.state('orders.edit', {
url: '/:orderId/edit',
templateUrl: 'modules/orders/client/views/form-order.client.view.html',
controller: 'OrdersController',
controllerAs: 'vm',
resolve: {
orderResolve: getOrder
},
data: {
pageTitle: 'Edit Order {{ orderResolve.name }}'
}
})
.state('orders.view', {
url: '/:orderId',
templateUrl: 'modules/orders/client/views/view-order.client.view.html',
controller: 'OrdersController',
controllerAs: 'vm',
resolve: {
orderResolve: getOrder
},
data: {
pageTitle: 'Order Details {{ orderResolve.name }}'
}
});
}
getOrder.$inject = ['$stateParams', 'OrdersService'];
function getOrder($stateParams, OrdersService) {
return OrdersService.get({orderId: $stateParams.orderId}).$promise;
}
newOrder.$inject = ['OrdersService'];
function newOrder(OrdersService) {
return new OrdersService();
}
}());
Upvotes: 0
Views: 44
Reputation: 2125
Please find the error in error log. I found view file is missing error. Put a slash at beginning of template url can solve this problem. For example:
templateUrl: '/modules/orders/client/views/...',
Upvotes: 1