在研究了各种不同的项目并阅读了尽可能多的文档之后,我遇到了如何在我的应用程序中包含指令的问题。该应用程序设置如下:
app.js - 只是顶部
angular.module('ngDashboard', ['ngCookies','ngResource','ngDashboard.filters', 'ngDashboard.services', 'ngDashboard.directives'])
所有模块都可以正常工作,除了(它是一个从示例重写的应用程序)对于根本不起作用的指令:
directives.js - 以下内容不起作用,也不会在视图上执行指令:
angular.module('ngDashboard.directives', []).
directive('funkyElement', function () {
return {
restrict: 'E',
transclude: true,
scope: 'isolate',
template: '<div>gonna parse this: {{orig}} <br/>... and get this: {{obj}}</div>',
//templateUrl: 'template.html',
compile:function (element, attr, transclusionFunc) {
return function (scope, iterStartElement, attr) {
var origElem = transclusionFunc(scope);
var content = origElem.text();
scope.orig = content;
scope.obj = my_custom_parsing(content);
};
}
};
});
同一directives.js 文件中的以下内容正常工作并且指令执行:
angular.module('ng').directive('funkyElement', function () {
return {
restrict: 'E',
transclude: true,
scope: 'isolate',
template: '<div>gonna parse this: {{orig}} <br/>... and get this: {{obj}}</div>',
//templateUrl: 'template.html',
compile:function (element, attr, transclusionFunc) {
return function (scope, iterStartElement, attr) {
var origElem = transclusionFunc(scope);
var content = origElem.text();
scope.orig = content;
scope.obj = my_custom_parsing(content);
};
}
};
});
HTML 很简单:
<funky-element>
Parse me... come ooooon! Just parse meee!
</funky-element>
我的问题是,包含一组指令的正确方法是什么,以及为什么第一个示例(使用 ngDashboard.services)不起作用。