为什么我的 Angular JS 表达式不求值

Why isn't my Angular JS expression evaluation

我有一个我认为非常基础的 Angular JS 问题。有人可以向我解释为什么表达。

{{hi}}

没有评估,我收到以下错误:

Uncaught TypeError: angular.module is not a function

这是plunker,下面是代码。

Html:

<!DOCTYPE html>
<html>

  <head>
    <script src="https://code.angularjs.org/2.0.0-alpha.20/angular2.sfx.dev.js"></script>
    <script src="app.js"></script>
  </head>

  <body ng-app="expressionExample">

    <div ng-controller="ExampleController" class="expressions">
    {{hi}}
</div>

    <cmp></cmp>
  </body>

</html>

js:

angular.module('expressionExample', [])
.controller('ExampleController', ['$scope', function($scope) {
  var exprs = $scope.exprs = [];
  $scope.expr = '3*10|currency';
  $scope.hi= 'hi';
  $scope.addExp = function(expr) {
    exprs.push(expr);
  };

  $scope.removeExp = function(index) {
    exprs.splice(index, 1);
  };
}]);

您正在使用 Angular 2.0 参考

一旦我更新了对 1.4.0-rc1 的引用

它工作正常。这是更新后的 plunker

<!DOCTYPE html>
<html>

  <head>
    <script data-require="angular.js@1.4.0-rc.1" data-semver="1.4.0-rc.1" src="https://code.angularjs.org/1.4.0-rc.1/angular.js"></script>
    <script src="main.es6.js"></script>
  </head>

  <body ng-app="expressionExample">
    <div ng-controller="ExampleController" class="expressions">
    {{hi}}
    </div>
    <cmp></cmp>
  </body>

</html>

您好,您在代码中使用 Angular 2.0 插件

你已经写了 angular 1 语法,所以你必须在 html 中写 angular 1.4.0 插件,然后它可能会完美运行