javascript - 错误: [$injector:unpr] Unknown provider: $scope in angular Js when routing

标签 javascript angularjs angular-ui-router angularjs-controller ngroute

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


myWebsite.config(['$scope', '$routeProvider', function($routeProvider) {
    $routeProvider
    .when("/home", {
        templateUrl : "index.html",
    })
    .when("/about", {
        templateUrl : "views/about-view.html",
    })
    .otherwise({
        redirectTo : "/home"
    });
}]);

myWebsite.controller('myWebsiteCtrl', ['$scope', function($scope){
    console.log("angular is initialised");
}]);

myWebsite.controller('aboutCtrl', ['$scope', function($scope){
    console.log("about controller is initialised");
}]);

此代码给出错误错误:[$injector:unpr] 未知提供者:$scope。 我在标题中使用这些行

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular.js">`enter code here`</script>

<script src="https://code.angularjs.org/1.6.3/angular-route.js"></script>

最佳答案

$scope 不可注入(inject) config block 内。您只能利用在 controller 上注入(inject)的 $scope 依赖项。从技术上讲,不可能在 config 阶段注入(inject) $scope,因为配置 block 只允许注入(inject)提供程序。另外,配置阶段发生在应用程序引导时(特别是在运行阶段之前)。

myWebsite.config(['$routeProvider', function($routeProvider) {

Note: Make sure you have angular-route.js referenced on page

关于javascript - 错误: [$injector:unpr] Unknown provider: $scope in angular Js when routing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43319972/

相关文章:

php - 如何收集有关我的 PHP 应用程序错误的客户端信息?

javascript - 如何在 gulp 中创建重复管道?

angularjs - 如何使用 jasmine 测试 $timeout 操作的持续时间?

javascript - 使用 ui-router 实现动态 URL 路由的最佳方法是什么

javascript - 查看未注入(inject)或警告 : Tried to load angular more than once

javascript - 如何在 Ionic 本地存储中高效存储数据,而不需要每次都转换对象?

javascript - 无法将 ng 自定义指令的日期选择器结果绑定(bind)到 html 输入字段中的 ng-model

javascript - 在约定优于配置的开发中使用 goog.require 的任何方法?

javascript - AngularJS $http 从失败的 CORS 请求返回状态码 0

javascript - Angularjs 使用 UI-Router Resolve 进行身份验证