ada*_*ort 3 angularjs angularjs-ng-transclude
transclude对象{slotA:'?myCustomElement'}将元素映射到slotA插槽,可以通过$ transclude函数访问
不幸的是,它没有给出任何这方面的例子.它给出的唯一例子根本没有提到插槽:
$transclude(function(clone, scope) {
element.append(clone);
transcludedContent = clone;
transclusionScope = scope;
});
Run Code Online (Sandbox Code Playgroud)
有人可以使用$ transclude函数了解如何访问每个插槽吗?
sie*_*kos 12
我有类似的问题,但阅读ng-transclude的源代码有帮助.事实证明,$ transclude函数有第三个参数,即插槽名称.
https://github.com/angular/angular.js/blob/master/src/ng/directive/ngTransclude.js#L190
简单的例子:
angular.module('app', []);
angular
.module('app')
.directive('dir', function () {
return {
transclude: {
a: 'aT',
b: 'bT'
},
link: function (scope, elem, attrs, ctrl, transclude) {
transclude(function (content) {
elem.append('<div>a</div>');
elem.append(content);
}, null, 'a');
transclude(function (content) {
elem.append('<div>b</div>');
elem.append(content);
}, null, 'b');
}
};
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.js"></script>
<div ng-app="app">
<dir>
<a-t>content of a</a-t>
<b-t>content of b</b-t>
</dir>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1824 次 |
| 最近记录: |