【问题标题】:Uncaught Error: Unknown provider: $rootScopeProvider <- $rootScope未捕获的错误:未知提供程序:$rootScopeProvider <- $rootScope
【发布时间】:2015-12-29 21:30:12
【问题描述】:

我的问题是 angularjs 中的模板 URL。

所以当我把这段代码放在我的编辑器中并运行它时,它可以完美运行:

HTML:

<!DOCTYPE html>
<html lang= "en">

<head>
    <meta charset="UTF-8" />
    <title>Angular Js</title>

    <script type = "text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
    <script src = "https://rawgit.com/nirus/Angular-Route-Injector/master/dist/routeInjector.js"></script>
    <script type="text/javascript" src="main.js"></script>
</head>

<body ng-app = "app">
  <div ng-view></div>
</body>
</html>

Js:

var app = angular.module('app', [])

app.config(function($routeProvider){

  $routeProvider.when('/', {
    template: 'page',

  })

  .when('/helloUser', {
      template: "ds"

  })

  .otherwise({
    redirectTo: '/'
  })

})

这很好,但是一旦我尝试放置一个 templateUrl 它就是我的示例代码:

index.html

<!DOCTYPE html>
<html lang= "en">

<head>
    <meta charset="UTF-8" />
    <title>Angular Js</title>

    <script type = "text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
    <script src = "https://rawgit.com/nirus/Angular-Route-Injector/master/dist/routeInjector.js"></script>
    <script type="text/javascript" src="main.js"></script>
</head>

<body ng-app = "app">
  <div ng-view></div>
</body>
</html>

page.html:

Hello World

main.js:

var app = angular.module('app', [])

app.config(function($routeProvider){

  $routeProvider.when('/', {
    templateUrl: 'page.html'

  })

  .when('/helloUser', {
      template: "ds"

  })

  .otherwise({
    redirectTo: '/'
  })

})

编辑:

1 否决票 接受 您必须注入 ngRoute 模块:

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

不工作:

【问题讨论】:

  • 编辑了第二张图片,几分钟后就会消失
  • 您是否尝试过包含 ngroute 模块?比如 var app = angular.module('app', ['ngRoute']);
  • @ewrwr 为什么在浏览器中加载两个不同的 Angular 版本而不是 Angular 路由器的官方库?
  • FlorianTopf 是对的,也许你应该在开始之前先从一个简单的教程开始。一个简单的任务错误太多了。
  • var app = angular.module('app', ["ui.route.Injector"]) 用于您正在使用的库(并删除旧的角度版本(1.0.7))。

标签: javascript angularjs


【解决方案1】:

你必须注入 ngRoute 模块:

<script src="angular-route.js">
var app = angular.module('app', ['ngRoute'])

【讨论】:

  • 如前所述,您必须删除对旧angularjs库(1.0.7)的引用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-02
  • 1970-01-01
  • 1970-01-01
  • 2017-04-28
  • 2015-03-28
相关资源
最近更新 更多