<tfoot id='9fHAN'></tfoot>
    <legend id='9fHAN'><style id='9fHAN'><dir id='9fHAN'><q id='9fHAN'></q></dir></style></legend>

      <small id='9fHAN'></small><noframes id='9fHAN'>

        <bdo id='9fHAN'></bdo><ul id='9fHAN'></ul>
    1. <i id='9fHAN'><tr id='9fHAN'><dt id='9fHAN'><q id='9fHAN'><span id='9fHAN'><b id='9fHAN'><form id='9fHAN'><ins id='9fHAN'></ins><ul id='9fHAN'></ul><sub id='9fHAN'></sub></form><legend id='9fHAN'></legend><bdo id='9fHAN'><pre id='9fHAN'><center id='9fHAN'></center></pre></bdo></b><th id='9fHAN'></th></span></q></dt></tr></i><div id='9fHAN'><tfoot id='9fHAN'></tfoot><dl id='9fHAN'><fieldset id='9fHAN'></fieldset></dl></div>
    2. 为什么 angular.js 在添加动态元素时不够聪明,无法编译 DOM?

      时间:2023-09-29
          <bdo id='eL6AL'></bdo><ul id='eL6AL'></ul>

          <small id='eL6AL'></small><noframes id='eL6AL'>

              <i id='eL6AL'><tr id='eL6AL'><dt id='eL6AL'><q id='eL6AL'><span id='eL6AL'><b id='eL6AL'><form id='eL6AL'><ins id='eL6AL'></ins><ul id='eL6AL'></ul><sub id='eL6AL'></sub></form><legend id='eL6AL'></legend><bdo id='eL6AL'><pre id='eL6AL'><center id='eL6AL'></center></pre></bdo></b><th id='eL6AL'></th></span></q></dt></tr></i><div id='eL6AL'><tfoot id='eL6AL'></tfoot><dl id='eL6AL'><fieldset id='eL6AL'></fieldset></dl></div>
              • <tfoot id='eL6AL'></tfoot>

                  <tbody id='eL6AL'></tbody>

              • <legend id='eL6AL'><style id='eL6AL'><dir id='eL6AL'><q id='eL6AL'></q></dir></style></legend>

                本文介绍了为什么 angular.js 在添加动态元素时不够聪明,无法编译 DOM?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我真的很喜欢 AngularJS 如何通过允许您在应用程序中声明指令来启用自定义标签/元素,但是,当我动态附加自定义标签时,什么也没有发生:

                I really like how AngularJS enables custom tags/elements by allowing you to declare directives inside your app, however, when I append a custom tag dynamically, nothing happens:

                angular.module('myApp', []).directive('test', (($compile) ->
                   restrict: 'E'
                   link: (scope, element, attributes) ->
                     $(element).html('<h1>this is a test!</h1>')
                ))
                
                $('body').append('<test></test>')
                

                如何动态构建自定义标签的实例?

                How can I build an instance of my custom tag dynamically?

                推荐答案

                为什么要在 Angular 之外调用 jquery?例如,通常你会从一个角度指令内部做一些事情,并且可以访问 $compile.如果您绝对需要外部访问,您可以创建一个注入器.(PLUNKER)

                Why are you calling jquery outside of angular? Normally you would do something from inside an angular directive for instance and that would have access to $compile. If you absolutely need access outside you can create an injector. (PLUNKER)

                angular.module('myApp', []).directive('test', function($compile) {
                  return {
                    restrict: 'E',
                    link: function(scope, element, attributes) {
                      $(element).html('<h1>this is a test!</h1>')
                    }
                  }
                });
                
                ///////////////////////////////////////////////////////////////////////////////
                // called outside angular, you can create an injector that knows about
                // certain modules
                ///////////////////////////////////////////////////////////////////////////////
                $(function() {
                  // myApp for test directive to work, ng for $compile
                  var $injector = angular.injector(['ng', 'myApp']);
                  $injector.invoke(function($rootScope, $compile) {
                    $('body').prepend($compile('<test>Inside injector</test>')($rootScope));
                  });
                });
                

                这篇关于为什么 angular.js 在添加动态元素时不够聪明,无法编译 DOM?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:多个组件中的 Vue 3 组合 API 重用 下一篇:如何在 Laravel 中更新 Example.vue?

                相关文章

              • <i id='pNhML'><tr id='pNhML'><dt id='pNhML'><q id='pNhML'><span id='pNhML'><b id='pNhML'><form id='pNhML'><ins id='pNhML'></ins><ul id='pNhML'></ul><sub id='pNhML'></sub></form><legend id='pNhML'></legend><bdo id='pNhML'><pre id='pNhML'><center id='pNhML'></center></pre></bdo></b><th id='pNhML'></th></span></q></dt></tr></i><div id='pNhML'><tfoot id='pNhML'></tfoot><dl id='pNhML'><fieldset id='pNhML'></fieldset></dl></div>

                <small id='pNhML'></small><noframes id='pNhML'>

                • <bdo id='pNhML'></bdo><ul id='pNhML'></ul>

                  <legend id='pNhML'><style id='pNhML'><dir id='pNhML'><q id='pNhML'></q></dir></style></legend>

                    <tfoot id='pNhML'></tfoot>