【问题标题】:angular controller-scope scope角度控制器范围范围
【发布时间】:2015-07-19 11:55:50
【问题描述】:

代码在这里:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>

</head>
<body ng-app="app">



<p ng-controller="MessageController">
    {{message}}
</p>




<script src="../../angularv1.min.js"></script>
<script src="message-controller-scope.js"></script>
</body>
</html>


/**
 * Created by Glacier on 2015/7/19.
message-controller-scope.js
 */
function MessageController($scope) {
    $scope.message = "This is a model.";
}

结果是 {{message}} 为什么不显示这是一个模型? 有什么问题吗?

这是一个角度控制器范围问题。

【问题讨论】:

  • 您使用什么角度版本?您是否在控制台中看到任何错误?
  • version 1.4 控制台显示 Uncaught Error: [$injector:modulerr] and angularjs.map not found。但是 Chol Nhial 的回答解决了这个问题。还有其他方法吗?

标签: javascript angularjs


【解决方案1】:
var app = angular.module('app',[]);

app.controller('MessageController', ['$scope', function($scope) {
 $scope.message = "This is a model.";
}]);

更多:https://docs.angularjs.org/guide/controller

【讨论】:

    【解决方案2】:

    你需要创建 Angular 模块:

        angular.module('app')
          .controller('MessageController', MessageController);
    
        function MessageController($scope) {
            $scope.message = "This is a model.";
        }
    
        MessageController.$inject = ['$scope'];
    

    【讨论】: