0

我正在尝试连接一个简单的 AngularJS 应用程序,但我无法克服undefined is not a function我的视图指令上的错误。奇怪的是,第一个视图实际上加载并呈现给指令,但我无法导航到我的第二个视图。控制器肯定没有运行。我不确定这里发生了什么。有任何想法吗?

Angular 版本:1.2.26(与 1.2.20 相同的错误)

错误

类型错误:未定义不是函数

应用程序代码

var app = angular.module('myApp', ['ngRoute', 'ngResource']);

app.controller('Home', ['$scope', function ($scope) {
    console.log('Home controller hit.');
}]);

app.controller('About', ['$scope', function ($scope) {
    console.log('About controller hit.');
}]);


app.config(function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);
    $routeProvider.when('/', { templateUrl: 'SiteAssets/views/home.html', controller: 'Home' })
    .when('/home', { templateUrl: 'SiteAssets/views/home.html', controller: 'Home' })
    .when('/about', { templateUrl: 'SiteAssets/views/about.html', controller: 'About' })
    .otherwise({ redirectTo: '/' });
});
4

2 回答 2

1

您需要像这样将 $document 注入到您的控制器中:

app.controller('About', ['$scope','$document', function ($scope, $document) {
  $document.title = 'About Us';
  console.log('About controller hit.');
}]);

可能是 $document 引发了错误,因为 Angular 在没有注入的情况下不知道它是什么。但是,此问题的错误将是Error: Unknown provider:

于 2014-10-10T15:14:13.633 回答
0

此问题是由我的主视图中的脚本错误引起的。我的第二个视图加载仍然存在问题。感谢所有在这个问题上帮助我的人。

于 2014-10-10T15:21:16.307 回答