使用html预加载ng-repeat

时间:2015-08-26 09:42:34

标签: angularjs

我陷入两难境地。 - http://jsfiddle.net/o7b3r5pa/4/ (忽略错误文本,它只是破坏页面的事实是问题。请注意div和textarea如何消失,被库吞没)

这就是库应该做的事情:https://jsfiddle.net/3o4y15qz/ (因为它没有被javascript加载,所以看得很好,因为它没有被javascript加载)

概述:

当你使用javascript渲染它时,某个人的愚蠢库不起作用...它必须在javascript运行之前放在页面上。它基本上在我的页面上呈现一个Web表单,以便人们可以填写它并将其提交给系统。

问题:

<div ng-repeat="test in Testers" ng-style="{ 'left': test.Left + 'px' }">
    {{test.Content}}
</div>

我需要用以下内容替换上面的内容:

<div ng-repeat="test in Testers" ng-style="{ 'left': test.Left + 'px' }">
    <script>//stupid script library</script>
</div>
<div ng-repeat="test in Testers" ng-style="{ 'left': test.Left + 'px' }">
    <script>//stupid script library</script>
</div>
<div ng-repeat="test in Testers" ng-style="{ 'left': test.Left + 'px' }">
    <script>//stupid script library</script>
</div>

<script>//stupid script library</script>将由PHP放置,因此无法通过javascript加载。

显然问题是ng-repeat ...我需要它在那里,因为我仍然需要让div可以访问test.Left命令。我如何解决这个问题?

如果我发现如何做到这一点,它将允许我通过PHP放置内容,因此愚蠢的脚本库将正常工作。

----编辑----

我尝试过以下操作:

...
$scope.Testers = [
    {
        "Content": "<iframe><html><body><script>alert( "hi" );<\/script></iframe></body></html>"
    }
]
...

<div ng-repeat="test in Testers" ng-style="{ 'left': test.Left + 'px' }">
    {{test.Content}}
</div>

但这仍然没有显示任何内容。

1 个答案:

答案 0 :(得分:0)

你正试图混合两件事。一个好方法是创建一个使用愚蠢库的指令。然后做这样的事情。

<div ng-repeat="test in Testers" ng-style="{ 'left': test.Left + 'px' }">
    <stupid-library-directive></stupid-library-directive>
</div>