在AngularJS中,如何将指令绑定到除指令根元素之外的其他元素中?

约翰

我希望我正在创建的指令出现在该指令出现的模板范围之外的元素内。

我的问题是我试图让灯箱在页面的所有内容上呈现,而不仅仅是在呈现页面的模板中呈现。

假设采用以下结构,我希望该my-directive指令在的范围内运行,containerController但我希望将my-directive的模板呈现为#lightbox .content完成此任务的“角度”方式是什么?

<body>
    <div id="container" ng-controller="containerController">
        <my-directive show="directiveVisible"></my-directive>
    </div>

    <div id="lightbox">
        <div class="content"><!-- my-directive template gets rendered here --></div>
    </div>
</body>
尼科斯(Nikos Paraskevopoulos)

这是$compile服务的工作您可以编译模板(而不是伪指令的模板-保留为空,以便在伪指令的位置不显示任何内容),并将已编译的元素放置在DOM中您喜欢的任何位置。您还必须记住,在破坏指令范围时,将从DOM中删除该元素。因此,一些非常简单的代码将是:

app.directive("myDir", function($compile) {
    return {
        restrict: "E",
        link: function(scope, elem, attrs) {
            var target = angular.element(document.getElementById(attrs.target));
            var compiled = $compile('<input type="text" ng-model="data.name" />')(scope);
            target.append(compiled);
            scope.$on("$destroy", function() {
                target.empty();
            });
        }
    };
});

小提琴示例:http : //jsfiddle.net/3nkp9p9y/

您会注意到,编译器<input>出现在指令之外,实际上也出现在Angular应用程序之外,并且仍然通过原型继承绑定到控制器的作用域。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将指令模板的属性附加到AngularJS中父元素以外的其他元素?

来自分类Dev

Angular - 将指令注入到同一元素的其他指令中

来自分类Dev

将AngularJS指令绑定到元素

来自分类Dev

将AngularJS指令绑定到元素

来自分类Dev

元素与AngularJS指令中的this

来自分类Dev

如何将angularjs指令绑定到链接函数中定义的d3js节点

来自分类Dev

如何将指令范围值绑定到angularjs中的模板

来自分类Dev

如何将CSS应用于除悬停元素之外的其他元素?

来自分类Dev

如何将事件从指令广播到AngularJS中的其他控制器

来自分类Dev

如何将整个站点重定向到除“根页面”之外的其他站点

来自分类Dev

将click事件绑定到AngularJS指令内的子元素

来自分类Dev

如何将SelectionChanged事件绑定到仅XAML中其他元素的可见性属性

来自分类Dev

AngularJS指令中的元素高度

来自分类Dev

如何将Webpart部署到Sharepoint中除自定义文件夹之外的其他位置?

来自分类Dev

如何将事件绑定到iframe中的元素?

来自分类Dev

如何绑定到指令中另一个元素的“ keydown”

来自分类Dev

AngularJS-通过单击同一指令中的其他元素来切换指令中的元素可见性

来自分类Dev

AngularJS-通过单击同一指令中的其他元素来切换指令中的元素可见性

来自分类Dev

如何使其他指令在uib-tab元素中起作用

来自分类Dev

AngularJS Transcluded 指令的范围从其他指令中捕获

来自分类Dev

在Angular 2+中,如果本机元素也应用了Angular指令,则如何指定将本机元素绑定到模板变量?

来自分类Dev

如果在同一模板中两次使用指令,如何将指令限制为单个元素

来自分类Dev

angularjs指令将名称属性绑定到模板元素

来自分类Dev

angularjs指令将名称属性绑定到模板元素

来自分类Dev

将数组绑定到指令中的模型

来自分类Dev

AngularJS如何在替换之前访问指令中的元素

来自分类Dev

如何在AngularJS中向输入元素动态添加指令

来自分类Dev

AngularJS:如何访问指令中的动态生成的元素

来自分类Dev

angularjs-复制模板中的指令元素

Related 相关文章

  1. 1

    如何将指令模板的属性附加到AngularJS中父元素以外的其他元素?

  2. 2

    Angular - 将指令注入到同一元素的其他指令中

  3. 3

    将AngularJS指令绑定到元素

  4. 4

    将AngularJS指令绑定到元素

  5. 5

    元素与AngularJS指令中的this

  6. 6

    如何将angularjs指令绑定到链接函数中定义的d3js节点

  7. 7

    如何将指令范围值绑定到angularjs中的模板

  8. 8

    如何将CSS应用于除悬停元素之外的其他元素?

  9. 9

    如何将事件从指令广播到AngularJS中的其他控制器

  10. 10

    如何将整个站点重定向到除“根页面”之外的其他站点

  11. 11

    将click事件绑定到AngularJS指令内的子元素

  12. 12

    如何将SelectionChanged事件绑定到仅XAML中其他元素的可见性属性

  13. 13

    AngularJS指令中的元素高度

  14. 14

    如何将Webpart部署到Sharepoint中除自定义文件夹之外的其他位置?

  15. 15

    如何将事件绑定到iframe中的元素?

  16. 16

    如何绑定到指令中另一个元素的“ keydown”

  17. 17

    AngularJS-通过单击同一指令中的其他元素来切换指令中的元素可见性

  18. 18

    AngularJS-通过单击同一指令中的其他元素来切换指令中的元素可见性

  19. 19

    如何使其他指令在uib-tab元素中起作用

  20. 20

    AngularJS Transcluded 指令的范围从其他指令中捕获

  21. 21

    在Angular 2+中,如果本机元素也应用了Angular指令,则如何指定将本机元素绑定到模板变量?

  22. 22

    如果在同一模板中两次使用指令,如何将指令限制为单个元素

  23. 23

    angularjs指令将名称属性绑定到模板元素

  24. 24

    angularjs指令将名称属性绑定到模板元素

  25. 25

    将数组绑定到指令中的模型

  26. 26

    AngularJS如何在替换之前访问指令中的元素

  27. 27

    如何在AngularJS中向输入元素动态添加指令

  28. 28

    AngularJS:如何访问指令中的动态生成的元素

  29. 29

    angularjs-复制模板中的指令元素

热门标签

归档