angularjs中注入报错?

module名称和controller名称都没有错,为什么会报错呢?尝试了很久也没能解决,前端小白一枚,求各位大大指点~~

如图所示,页面报错是这样的:
clipboard.png

这是我的HTML代码:
clipboard.png

这是JS代码:
clipboard.png

HTML源码:

<!DOCTYPE html>
<html lang="en" ng-app="MyModule">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <script src="js/angular1.5.0.min.js"></script>
    <script src="js/scopeBind.js"></script>
</head>
<body>
<div ng-controller="MyCtrl">
    <drink flavor="{{ctrlFlavor}}"></drink>
</div>
</body>
</html>

JS源码:

var MyModule = angular.module("MyModule", []);
MyModule.controller("MyCtrl", ["scope",
    function ($scope) {
        $scope.ctrlFlavor = "百威";
    }
])
MyModule.directive("drink", function () {
    return {
        restrict: "AE",
        template: "<div>{{flavor}}</div>",
        link: function (scope, element, attrs) {
            scope.flavor = attrs.flavor;
        }
    }
})
阅读 2.5k
4 个回答

控制器依赖注入那边写错了,你写的scope,而angular里面的是$scope,所以会找不到这个服务而报错。

拼写错误,代码没问题

MyModule.controller("MyCtrl", ["$scope",
    function ($scope) {
        $scope.ctrlFlavor = "百威";
    }
])

MyModule.controller('MyCtrl', function ($scope) {

        $scope.ctrlFlavor = "百威";

});

angularjs1的版本的注入都是$scope,只有在你想向别的方法传当前作用域时可以根据实参和形参对应更改为scope

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题