Łuk*_*man 21 angularjs angularjs-directive
假设我有工作指令叫<my-directive>.它做了一些HTML渲染和事件处理,它经过了彻底的测试.
现在我想用另一个包装器指令包装这个指令,该指令<wrapper>将呈现这个html片段<div class="my-div">,这样我就可以编写如下代码:
<wrapper>
<my-directive></my-directive>
</wrapper>
Run Code Online (Sandbox Code Playgroud)
并有:
<div class="my-div">
<my-directive></my-directive>
</div>
Run Code Online (Sandbox Code Playgroud)
怎么能实现呢?我以前尝试过一些方法,它们似乎都没有工作,所以我没有发布任何代码.
Aru*_*hny 27
您可以创建包装器指令
app.directive('wrapper', function() {
return {
restrict: 'E',
replace: true,
transclude: true,
template: '<div class="my-div" ng-transclude></div>'
};
});
Run Code Online (Sandbox Code Playgroud)
演示:Plunker
cha*_*tfl 20
听起来你ng-transclude在外模板中缺少并transclude在外部指令中设置为true.该ng-transclude属性告诉编译器wheere在transclude设置为时插入内部htmltrue
app.directive('wrapper',function(){
return {
restrict:'E',
template: '<div>Outer wrapper text<div ng-transclude></div></div>',
transclude: true,
replace:true
}
});
Run Code Online (Sandbox Code Playgroud)
DEMO http://plnkr.co/edit/sfbRyPZjqsTG6cuiaXZV?p=preview
| 归档时间: |
|
| 查看次数: |
14499 次 |
| 最近记录: |