javascript - 如何在 Angular 工作中进行嵌套嵌入?

标签 javascript angularjs angularjs-directive transclusion

我无法使嵌套嵌入工作。

有两个指令,都声明它们将嵌入它们的内容。当我嵌套它们时,内部没有任何内容。

这里是 this fiddle ,这说明了我的问题。

代码如下:

function Ctrl($scope) {
  $scope.text = 'Neque porro quisquam est qui dolorem ipsum quia dolor...';
}

angular.module('transclude', [])
 .directive('outer', function(){
    return {
      restrict: 'E',
      replace: true,
      transclude: true,
      scope: {},
      template: '<div style="border: 1px solid black;">' +
                '<div>Outer</div>' +
                '<inner ng-transclude></inner>' +
                '</div>'
    };
 }).directive('inner', function(){
     return {
         restrict: 'E',
         transclude: true,
         replace: true,
         template :'<div style="border: 1px solid red;">' +
                   '<div>Inner</div>' +
                   '<div ng-transclude></div>' +
                   '</div>'
     };
 });

最佳答案

你应该在内部指令中使用 ng-transculde,因为 transclude 替换了内部 html

angular.module('transclude', []).directive('outer', function(){
    return {
        restrict: 'E',
        replace: true,
        transclude: true,
        template: '<div style="border: 1px solid black;">' +
            '<div>Outer</div>' +
            '<inner><div ng-transclude></div></inner>' +
            '</div>'
        };
});

无需更改内部指令。

我已经更新了 fiddle here

关于javascript - 如何在 Angular 工作中进行嵌套嵌入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19430677/

相关文章:

javascript - JSLint:在定义之前使用

javascript - 如何在 JavaScript 中检测月份变化?

javascript - 在指令中访问 child 的 '$invalid' 验证 Prop

angularjs - 清除按钮无法与 AngularJs 中的上传一起使用

javascript - 如何禁用 iframe 中的脚本来控制父级?

javascript - iframe 加载是否会阻止 javascript 执行?

javascript - 如何将密码从 javascript 传递到 powershell

javascript - Angular : how to handle both HTML5 mode routes and hash routes?

javascript - Grunt 连接代理重写在 https 中不起作用

javascript - 当我使用 ng-options 为什么我选择的没有值(value)