我可以在没有模块的情况下创建指令吗?

时间:2014-01-10 19:26:12

标签: angularjs-directive

我通常一直在定义我的控制器:

<body data-ng-app>
  <div data-ng-controller='IndexCtrl'>
  </div>
</body>

所以我的控制器已定义:

var indexController = function($scope) { /* ... */ }

我可以用指令做同样的事情吗?看来我必须使用ng-app命名来创建一个指令吗?

1 个答案:

答案 0 :(得分:0)

  1. “我可以创建没有模块的指令吗?”
  2. 没有。我很确定Angular需要指令在模块中。然后,您需要加载模块以使用该指令。因此,如果您将angular.module('myApp', [])作为主模块,并且想要使用库'myLib',那么您/必须/以某种方式使主模块依赖于myLib(即angular.module('myApp', ['myLib'])

    1. “似乎我必须使用ng-app命名来创建指令”
    2. 不完全是。如果你使用已经存在的vanilla-angular模块,你可以(尽管我不知道你为什么要这么做)这样做:

      <强>的Javascript

      angular.module('ng').directive('sample', function () {
        return {
          restrict: 'E',
          template: '<b> YAYYYYYY </b>'
        }
      });
      

      <强>模板

      <sample></sample>