你的第一个指令

我们的第一个元素指令不会做太多:它只会计算 2+2 并将在 html 中调用,如下所示:

<my-calculator></my-calculator>

请注意,该指令的名称是 myCalculator(在 CamelCase 中),但在 html 中它用作 my-calculator(在 lisp-case 中)。

由于我们希望将指令用作 html 元素,因此我们将使用 restrict: 'E'

每个指令都有一个将被编译和插入的模板。我们的指令非常简单,因此我们将 html 作为字符串插入到 template 参数中。

// directives/my-calculator.js

angular.module('exampleApp', [])
.directive('myCalculator', function() {
  return {
    restrict: 'E',
    template: '<span> My directive can calculate 2+2: {{2+2}} </span>'
  };
});

HTML

<!DOCTYPE html>
<html ng-app="exampleApp">

  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
    <script src="my-calculator.js"></script>
  </head>

  <body>
    Here is my first directive: 
    <my-calculator></my-calculator>
  </body>

</html>

结果将如下所示:

这是我的第一个指令:我的指令可以计算 2 + 2:4

如果你想玩实时示例,请访问 plunkr