为什么我的角度模板/控制器无法在 ngView 中加载

Why Won't My Angular Template/Controller Load in ngView?

本文关键字:ngView 加载 控制器 我的 为什么      更新时间:2023-09-26

我在 Angular (1.3.14) 中配置路由时遇到问题。我已经看了很多像这个和这个这样的例子,以及SO上的其他一些答案,据我所知,这是正确的设置,但是当我在浏览器中加载它时,屏幕上没有任何内容加载。没有控制台错误,我已经通过注释掉$locationProvider行(将哈希添加回 url)来验证 Angular 正在运行。

代码当前为:

应用.js

var app = angular.module('app', [
  'ngRoute'
]);
app.config([
  '$routeProvider',
  '$locationProvider',
  function($routeProvider, $locationProvider) {
    $routeProvider.
      when('/', {
        templateURL: 'templates/home.html',
        controller: 'HomeController'
      }).
      otherwise({
        redirectTo: '/'
      });
    $locationProvider.html5Mode(true);
}]);
app.controller('HomeController', function($scope) {
  console.log("hi");
});

首页.html

<div>
   HELLO
</div>

索引.html

<!DOCTYPE html>
<html ng-app="app">
  <head>
    <base href="/">
    <link rel="stylesheet" type="text/css" href="stylesheets/style.min.css"/>
  </head>
  <body>
    <div ng-view></div>
    <script src="bower_components/angular/angular.min.js"></script>
    <script src="bower_components/angular-route/angular-route.js"></script>
    <script src="js/app.js"></script>
  </body>
</html>

我还尝试改变我声明应用程序的方式。我尝试将 ng-app 标签添加到正文中的div 中,我尝试使用 ng-view 指令,但这些都没有改变结果。所有链接的资源都会加载,我可以在开发工具中查看它们。我也可以直接导航到模板文件,它加载得很好。我想我错过了一些简单的东西,但我无法弄清楚它是什么。

它应该是templateUrl,而不是templateURL