我正在使用Visual Studio Community 2015学习angularjs。一切正常,直到我开始路由。我不知道如何使用服务器端要求来测试我的代码和路由以及URL中的#。
当我调试时,我得到链接但没有添加ngview的HTML片段。我怀疑我必须做一些事情让服务器识别URL中的#,但经过几天的阅读/搜索,没有运气(我已经读过有关更改web.config或添加一些C#代码,但这些都不适合我)。
我的问题:
在社区2015中,我使用Visual C#>> Web>> asp.net app>>空模板启动了新项目。
这是我的路线代码: index.html中 ngview
<div class="main-wrapper">
<div ng-view></div>
加载ngRoute库
<!-- AngularJS -->
<!--<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>-->
<script src="Scripts/angular.min.js"></script>
<script src="Scripts/angular-route.min.js"></script>
<script src="Scripts/angular-sanitize.min.js"></script>
<script src="js/app.js"></script>
<script src="js/routes.js"></script>
<!-- Controllers -->
<script src="js/controllers/instructionsController.js"></script>
<script src="js/controllers/faqController.js"></script>
在app.js中导入ngRoute模块
(function () {
'use strict';
angular.module('VideoOnTheMove', ['ngRoute', 'ngSanitize'])
})();
Route.js
angular.module('VideoOnTheMove')
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/home', {
templateUrl: '/templates/pages/home/index.html'
})
.when('/overview', {
templateUrl: '/templates/pages/overview/index.html'
})
.when('/instructions', {
templateUrl: '/templates/pages/instructions/index.html',
controller: 'instructionController',
controllerAs: 'instructionsCtrl'
})
.when('/faq', {
templateUrl: '/templates/pages/faq/index.html',
controller: 'instructionsController',
controllerAs: 'faqCtrl'
})
.when('/checklist', {
templateUrl: '/templates/pages/checklist/index.html'
})
.when('/', {
redirectTo: 'home'
})
.otherwise({
redirectTo: '/'
});
}]);
答案 0 :(得分:1)
您的控制器脚本应出现在路由配置脚本
之前<script src="Scripts/angular.min.js"></script>
<script src="Scripts/angular-route.min.js"></script>
<script src="Scripts/angular-sanitize.min.js"></script>
<script src="js/app.js"></script>
<!-- Controllers -->
<script src="js/controllers/instructionsController.js"></script>
<script src="js/controllers/faqController.js"></script>
<script src="js/routes.js"></script>