在 webapi 应用程序中使用 Angular 路由
Using Angular route in webapi application
我不确定如何在 Web api 应用程序中实施正确的 Angular 路由。我可以使用这种方法打开页面:http://localhost:52876/HTML/app/borrower.html
Angular 控制器加载正常,所有功能都在 angular 端。
现在,我希望能够以更好的视图打开视图,使用 ng-route,例如 http://localhost:52876/HTML/app/borrower.html 将变为 http://localhost:52876/借款人。
我在 angular 应用程序中使用的 html 文件中包含了 ng-route.js 文件。
也在 app.js 我有这个:
'use strict';
var modules = [
'app.controllers',
'LoanAdminApplicationController',
'ngCookies',
'ngResource',
'ngSanitize',
'ngRoute',
'ui.router',
'LocalStorageModule',
'angular-loading-bar'
];
var app = angular.module('app', modules);
app.config(function ($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider.when("/home", {
controller: "homeController",
templateUrl: "/app/views/home.html"
});
$routeProvider.when("/login", {
controller: "loginController",
templateUrl: "/HTML/login.html"
});
$routeProvider.when("/signup", {
controller: "signupController",
templateUrl: "/app/views/signup.html"
});
$routeProvider.when("/register", {
controller: "signupController",
templateUrl: "/app/views/register.html"
});
$routeProvider.when("/refresh", {
controller: "refreshController",
templateUrl: "/app/views/refresh.html"
});
$routeProvider.when("/tokens", {
controller: "tokensManagerController",
templateUrl: "/app/views/tokens.html"
});
$routeProvider.when("/borrower", {
controller: "borrowerController",
templateUrl: "/HTML/app/borrower.html"
});
$routeProvider.otherwise({ redirectTo: "/home" });
});
html 标记(我删除了内容):
<!DOCTYPE html>
<html ng-app="app">
<head>
</head>
<body ng-controller="BorrowerQuickQuoteApplication">
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="/assets/js/jquery.min.js"></script>
<script src="/assets/js/modernizr.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="/assets/js/bootstrap.min.js"></script>
<script src="/Scripts/angular.js"></script>
<script src="/Scripts/angular-cookies.min.js"></script>
<script src="/Scripts/angular-resource.min.js"></script>
<script src="/Scripts/angular-sanitize.min.js"></script>
<script src="/Scripts/angular-route.min.js"></script>
<script src="/Scripts/angular-ui-router.min.js"></script>
<script src="/Angular/controllers.js"></script>
<script src="/Angular/LoanApplicationController.js"></script>
<script src="/Angular/services.js"></script>
<script src="/Scripts/angular-local-storage.min.js"></script>
<script src="/Scripts/loading-bar.min.js"></script>
<script src="/Angular/app.js"></script>
</body>
</html>
知道我需要做什么才能使它正常工作吗?
我应该修改 RouteConfig.cs 文件还是还需要做其他事情?
您不使用文件名导航,因为您正在做的是 angular 路由作业,例如
$routeProvider.when("/borrower", {
controller: "borrowerController",
templateUrl: "/HTML/app/borrower.html"
});
当你去 localhost:8080/yourapp/borrower
并且您的 index.html
中需要 ng-view
像这样
<div ng-view></div>
您的页面将显示在这里。
路由器会发现您正在为借款人请求,它会将您带到 /HTML/app/borrower.html
您正在使用 html 五种模式,这意味着您需要服务器端路由到因此它每次都可以下降到 index.html 这样您的 url
就可以没有哈希。
我不确定如何在 Web api 应用程序中实施正确的 Angular 路由。我可以使用这种方法打开页面:http://localhost:52876/HTML/app/borrower.html
Angular 控制器加载正常,所有功能都在 angular 端。
现在,我希望能够以更好的视图打开视图,使用 ng-route,例如 http://localhost:52876/HTML/app/borrower.html 将变为 http://localhost:52876/借款人。
我在 angular 应用程序中使用的 html 文件中包含了 ng-route.js 文件。
也在 app.js 我有这个:
'use strict';
var modules = [
'app.controllers',
'LoanAdminApplicationController',
'ngCookies',
'ngResource',
'ngSanitize',
'ngRoute',
'ui.router',
'LocalStorageModule',
'angular-loading-bar'
];
var app = angular.module('app', modules);
app.config(function ($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider.when("/home", {
controller: "homeController",
templateUrl: "/app/views/home.html"
});
$routeProvider.when("/login", {
controller: "loginController",
templateUrl: "/HTML/login.html"
});
$routeProvider.when("/signup", {
controller: "signupController",
templateUrl: "/app/views/signup.html"
});
$routeProvider.when("/register", {
controller: "signupController",
templateUrl: "/app/views/register.html"
});
$routeProvider.when("/refresh", {
controller: "refreshController",
templateUrl: "/app/views/refresh.html"
});
$routeProvider.when("/tokens", {
controller: "tokensManagerController",
templateUrl: "/app/views/tokens.html"
});
$routeProvider.when("/borrower", {
controller: "borrowerController",
templateUrl: "/HTML/app/borrower.html"
});
$routeProvider.otherwise({ redirectTo: "/home" });
});
html 标记(我删除了内容):
<!DOCTYPE html>
<html ng-app="app">
<head>
</head>
<body ng-controller="BorrowerQuickQuoteApplication">
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="/assets/js/jquery.min.js"></script>
<script src="/assets/js/modernizr.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="/assets/js/bootstrap.min.js"></script>
<script src="/Scripts/angular.js"></script>
<script src="/Scripts/angular-cookies.min.js"></script>
<script src="/Scripts/angular-resource.min.js"></script>
<script src="/Scripts/angular-sanitize.min.js"></script>
<script src="/Scripts/angular-route.min.js"></script>
<script src="/Scripts/angular-ui-router.min.js"></script>
<script src="/Angular/controllers.js"></script>
<script src="/Angular/LoanApplicationController.js"></script>
<script src="/Angular/services.js"></script>
<script src="/Scripts/angular-local-storage.min.js"></script>
<script src="/Scripts/loading-bar.min.js"></script>
<script src="/Angular/app.js"></script>
</body>
</html>
知道我需要做什么才能使它正常工作吗?
我应该修改 RouteConfig.cs 文件还是还需要做其他事情?
您不使用文件名导航,因为您正在做的是 angular 路由作业,例如
$routeProvider.when("/borrower", {
controller: "borrowerController",
templateUrl: "/HTML/app/borrower.html"
});
当你去 localhost:8080/yourapp/borrower
并且您的 index.html
中需要ng-view
像这样
<div ng-view></div>
您的页面将显示在这里。
路由器会发现您正在为借款人请求,它会将您带到 /HTML/app/borrower.html
您正在使用 html 五种模式,这意味着您需要服务器端路由到因此它每次都可以下降到 index.html 这样您的 url
就可以没有哈希。