【发布时间】:2016-01-01 07:20:57
【问题描述】:
我对 Angular 很陌生,我正在尝试用一个参数做一个例子。不带参数的可以正常使用,但是带参数的链接就不行了。我在这里做错了什么?
应用和控制器:
var myApp = angular.module('myApp', ['ui.router']);
myApp.config(['$routeProvider','$locationProvider', '$httpProvider',
function ($routeProvider, $locationProvider, $httpProvider) {
$locationProvider.hashPrefix('!').html5Mode(true);
$routeProvider
.when('/NewOrder', {
templateUrl: 'templates/NewOrder',
controller: 'AddOrderController'
}).when('/ShowOrders/:orderID', {
templateUrl: function (params) {return '/templates/ShowOrders?orderID=' + params.orderID; },
controller: 'ShowOrdersController'
}).otherwise({
redirectTo: '/ShowOrders'
});
}
]);
myApp.controller('AddOrderController', function ($scope) {
$scope.message = 'This is the add new order controller screen';
});
myApp.controller('ShowOrdersController', function ($scope,$routeParams) {
$scope.message = 'This is the show orders controller';
$scope.order_id = $routeParams.orderID;
});
Route.config 文件:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "NewOrder",
url: "templates/NewOrder",
defaults: new { controller = "Templates", action = "AddOrder" });
routes.MapRoute(
name: "ShowOrders",
url: "templates/ShowOrders/{orderID}",
defaults: new { controller = "Templates", action = "ShowOrders", orderID = "" });
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Defaults",
url: "{*url}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
html文件:
<!DOCTYPE html>
<html lang="en" ng-app="myApp" ng-strict-di>
<head>
<title>AngularJS Routing example</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-3">
<ul class="nav">
<li><a href="/NewOrder"> Add New Order </a></li>
<li><a href="/ShowOrders/123"> Show Order </a></li>
</ul>
</div>
<div class="col-md-9">
<div ng-view></div>
</div>
</div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script>
@*<script src="app.js"></script>*@
<script src="~/Scripts/myApp.js"></script>
</body>
【问题讨论】:
-
所有服务器路由都应该映射回角度入口点,而不是复制它们
标签: javascript angularjs asp.net-mvc-4 angularjs-routing