Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs angular$编译一个内部有ng重复的潜水_Angularjs_Compilation_Html Table - Fatal编程技术网

Angularjs angular$编译一个内部有ng重复的潜水

Angularjs angular$编译一个内部有ng重复的潜水,angularjs,compilation,html-table,Angularjs,Compilation,Html Table,我有以下问题: 我有一些表格将自动生成角度和ng重复: <article id="search-performance-table" class="container-fluid istable"> <div class="printOptionElements printshow newpage size100"></div> <!-- Start Table Simple-->

我有以下问题:

我有一些表格将自动生成角度和ng重复:

<article id="search-performance-table" class="container-fluid istable">
            <div class="printOptionElements printshow newpage size100"></div>
            <!-- Start Table Simple-->
            <section class="row">
                <div class="col-md-12">
                    <div class="table-responsive" ng-controller="SmartTableController">

                        <table id="table-performance-suche" class="table table-hover" st-table="displayed" st-safe-src="tablePerformanceSearch">
                            <thead>
                                <tr class="active">
                                    [... Header Elements ...]
                                </tr>
                            </thead>
                            <tbody>
                                <tr ng-repeat="element in displayed">
                                    <td>{{element.date| date}}</td>
                                    <td>{{element.requests| number:0}}</td>
                                    <td>{{element.clicks| number:0}}</td>
                                    <td>{{element.clickRate| percentage:2}}</td>
                                    <td>{{element.carts| number:0}}</td>
                                    <td>{{element.buys| number:0}}</td>
                                    <td>{{element.conversionRate| percentage:2}}</td>
                                    <td>{{element.responseTime| number:2}} ms</td>
                                </tr>
                            </tbody>
                            <tfoot class="font-blue-grey-light" ng-model="tablePerformanceSearchTotal">
                                <tr class="active">
                                [... Footer Elements ...]
                                <tr>
                                    <td colspan="12" class="text-center">
                                        <div st-pagination="" st-items-by-page="$root.itemsByPage1_table1" st-displayed-pages="7"></div>
                                    </td>
                                </tr>
                            </tfoot>

                        </table>
                    </div>
                </div>
            </section>
            <!-- Ende Table Simple -->
        </article>
现在我有了里面有元素的文件。旧元素被隐藏起来了。但是angular不起作用,因为它不在$scope范围内。我将元素编译到范围中

$( ".printOptionElements" ).each(function( index ) {
            var parentid = this.parentNode.id;
            $compile($("#"+parentid).children().not(".printOptionElements"))($scope);
            $scope.$apply();
        });
这适用于页脚中的简单角度变量,但ng repeat不起作用。我只得到:

<tbody>
                                <!-- ngRepeat: element in displayed -->
                            </tbody>

有办法解决这个问题吗?编译元素后,我尝试使用
$scope.$digest()
$apply()
。但它不起作用


我希望有人能帮助我

我认为在使用JQuery时,必须用JQuery替换$try:

pageElements[pageNumber][elementOnPage] = "<div id='"+this.parentNode.id+"' class='thisIs100 printPaper'>"+jQuery("#"+this.parentNode.id).html()+"</div>";

for (j=0; j < pageElements.length; j++) {
            for (i=0; i < pageElements[j].length; i++) {
                jQuery("#site"+j).append(""+pageElements[j][i]+"");
            }
        }
先试试,告诉我是否更好?:)

您可以在控制台中看到什么?
带有$scope变量的部件在控制器中

我认为在使用JQuery时,必须用JQuery替换$try:

pageElements[pageNumber][elementOnPage] = "<div id='"+this.parentNode.id+"' class='thisIs100 printPaper'>"+jQuery("#"+this.parentNode.id).html()+"</div>";

for (j=0; j < pageElements.length; j++) {
            for (i=0; i < pageElements[j].length; i++) {
                jQuery("#site"+j).append(""+pageElements[j][i]+"");
            }
        }
先试试,告诉我是否更好?:)

您可以在控制台中看到什么?
带有$scope变量的部件在控制器中

嗨,谢谢你的回答。我用jQuery替换了每一个$。但什么也没发生。但是angular中的其他jQueryElement也使用$,所以我认为这不是问题所在。但感谢您的帮助,您已将$scope.$apply()放入$$phase test?是的“jQuery(.printOptionElements”)。每个(函数(索引){var parentid=this.parentNode.id;$compile(jQuery(“#”+parentid).children().not(“.printOptionElements”)($scope);if(!$scope.$$phase){$scope.$apply();}}});“你的控制台中有对齐吗?你可以在chrome上使用一个有用的插件,”ng inspector“观察它;)[link]我在控制台上有一条错误消息,但我不明白,它不会影响输出(直到现在?).TypeError:无法读取compositeLinkFn()处未定义的属性'childNodes',compositeLinkFn()处[…]处(id=“contentarea”ng view=”“class=“ng scope”>这是eror消息。但与ng repeat不同,它可以毫无问题地工作,并将每个angular元素编译到作用域中。您好,谢谢您的回答。我用jQuery替换了每个$。但是什么都没有发生。但是angular中的其他jQueryElement也使用$,所以我认为这不是问题。但是感谢您的帮助,您有了p在$$phase test?Yeah“jQuery(.printOptionElements”).each(函数(索引){var parentid=this.parentNode.id;$compile(jQuery(“#”+parentid).children().not(.printOptionElements”)($scope);if(!$scope.$$phase){$scope.$apply()}});“您的控制台中是否有对齐功能?您可以使用一个在chrome上可用的插件,”ng inspector“查看它;)[link]我在控制台上有一条错误消息,但我不理解它,并且它不会影响输出(直到现在?)。TypeError:无法读取CompositeLkn()处未定义的属性'childNodes'在compositeLinkFn(id=“contentarea”ng view=”“class=“ng scope”>这是eror消息。但除了ng repeat之外,它可以毫无问题地将每个角度元素编译到范围中。
jQuery( ".printOptionElements" ).each(function( index ) {
            var parentid = this.parentNode.id;
            $compile(jQuery("#"+parentid).children().not(".printOptionElements"))($scope);
           if(!$scope.$$phase){
                 $scope.$apply();
           }
        });