Angular采取DOM快照

时间:2013-03-27 21:10:02

标签: dependency-injection angularjs clone angularjs-directive

我正在尝试记录使用ng-repeat填充的div的内容,有点像在某些时刻拍摄该div的快照,这样我就不必编写更多代码来保存数据。

link:function(scope,element,attrs){                 scope.game = game;

            var $element = $(element),
            $clone = $element.children().clone();

            scope.$watch('someVariable',function(array){
                if (array[array.length - 1] === scope.id){
                    record($compile($clone)(scope));
                    console.log($compile($clone)(scope));
                }
            },true);

        }

我一直在尝试这样的代码变化,但是没有运气,我从来没有能够深度复制ng-repeat生成的div的内容

关于如何在特定时间点复制div的确切动态生成内容的任何建议?

1 个答案:

答案 0 :(得分:1)

如果您要在ng-repeat中显示数据,那么您已经拥有模型中的数据,您只需将该数据的快照保存到Scope中的其他对象。你应该操纵控制器中的数据,而不是试图直接访问DOM,这在angularjs中是不可能的。然后,如果您需要重用Div,只需制作一个知道如何呈现您在模型中保存的快照的指令。