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/