我在我的 Angular 应用程序中使用 RequireJS。require
我想pill
知道它实际使用的地方。
药丸.js
define([], function() {
angular.module('app').directive('pill', function() {
return function(a,b,c) {
b.html("A pill");
};
});
});
包括.html
<div load-script="require(['pill']);"></div>
<div pill>test</div>
main.html
<html ng-app="app">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.js"></script>
<script src="http://requirejs.org/docs/release/2.1.10/comments/require.js"></script>
</head>
<body>
<script>
var app = angular.module("app", [])
app.directive('loadScript', function() {
return {
link: function(scope, element, attrs) {
(new Function(attrs.loadScript))();
}
};
}
);
</script>
<div ng-include="'incl.html'"></div>
</body>
</html>
这个简短的例子应该声明一个pill
指令,它只是将文本从文件转换test
为A pill
内部incl.html
文件。但是,它不起作用。我猜这是因为该pill
指令是在incl.html
编译后注册的。
我想避免在全局范围内声明指令,例如在内部main.html
,因为它没有在那里使用。这个要求可以优雅地实现吗?