Angular存储指令信息在哪里?

时间:2014-09-20 02:13:42

标签: angularjs angularjs-directive angularjs-templates

Angular商店指令模板在哪里?

我有一个模块/指令,我希望能够获得它在另一个指令中使用的模板。具体来说,我想查看原始HTML和范围变量的名称

某些指令

var someModule = angular.module('someModule', []);

someModule.controller('someModuleCtrl', [ '$scope',
    function ($scope) {
        'use strict';
        //Do stuff
        };
    }]);

someModule.directive('someModule', [
    function () {
        'use strict';
        return {
            restrict: 'AE',
            template: ' some HTML and {{AngularVar}}',
            scope: {
                input1: '=',
                input2: '=',
                optional1: '=?'
            },
            controller: "someModuleCtrl"
        };
    }]);

其他一些指令,我希望看到另一个指令的原始HTML&#f; tempalte

var myModule = angular.module('MyModule', []);
myModule.controller('MyModuleCtrl', ['$scope', 
    function ($scope) {
        console.log(--------someModule.directives['someModule'].template---------);
    }]);

1 个答案:

答案 0 :(得分:0)

指令可注射为nameDirective,这是一个例子:

.directive("one", function () {
  return {
    template: "<div>{{something}}</div>",
    scope: {
      a: "@",
      b: "=",
      c: "&test"
    }
  };
})
.directive("two", function (oneDirective) {
  return function link () {
    var d = oneDirective[0];
    console.log(d.scope, d.template)
  };
});

/*
[object Object] {
  a: "@",
  b: "=",
  c: "&test"
}
"<div>{{something}}</div>"
*/

JSBin