You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AngularJS路由无法正常工作?新手搭建基础应用路由遇阻求助

解决AngularJS路由失效的问题

作为刚上手AngularJS的新手,路由配置踩坑太正常啦!我帮你梳理几个最可能的问题和解决办法:

1. 补全并确认angular-route.js依赖

你贴的index.html里angular-ro...明显是截断了,AngularJS的路由模块是单独的独立文件,必须完整引入,而且版本要和你用的angular.min.js(1.2.28)完全一致,不然会出现兼容性问题。

正确的引入代码应该是这样:

<head>
  <script type="text/javascript" src="js/vendor/angular.min.js"></script>
  <!-- 引入对应版本的路由模块 -->
  <script type="text/javascript" src="https://code.angularjs.org/1.2.28/angular-route.min.js"></script>
  <!-- 别忘了引入你的swapi依赖和自己的app.js -->
  <script src="js/vendor/ne.swapi.js"></script>
  <script src="js/app.js"></script>
</head>

2. 必须添加ng-view挂载点

路由需要一个指定的区域来渲染你的模板,你得在index.html的<body>里加上<div ng-view></div>,否则模板根本没地方显示:

<body ng-app="StarWarsApp">
  <!-- 路由匹配的模板会自动渲染到这个div里 -->
  <div ng-view></div>
</body>

3. 确认HomeController已定义

你的路由里指定了HomeController,但如果这个控制器根本没写,路由肯定跑不起来。记得在app.js里补上控制器的定义:

var app = angular.module("StarWarsApp", ['ngRoute', 'ne.swapi']);

// 先定义控制器再配置路由(顺序不强制,但这样更清晰)
app.controller('HomeController', function($scope) {
  // 可以加个测试内容验证是否生效
  $scope.welcomeText = "Welcome to my Star Wars App!";
});

app.config(function ($routeProvider) {
  $routeProvider
    .when('/', {
      controller: 'HomeController',
      templateUrl: 'views/home.html'
    })
    .otherwise({ redirectTo: '/' });
});

4. 检查模板文件路径是否正确

确认views/home.html确实存在于你的项目目录中,路径要和index.html的位置对应。比如如果index.html在项目根目录,那views/home.html就是根目录下views文件夹里的home.html文件,别写错路径哦。

5. 查看浏览器控制台找错误

打开浏览器的开发者工具(按F12),切换到Console标签页,这里会显示所有报错信息——比如模块找不到、路径错误、控制器未定义等,这些信息能直接帮你定位问题。

内容的提问来源于stack exchange,提问作者CJ Williams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:59:47