reveal.js:ng-repeat不适用于section标签

时间:2015-01-11 08:58:45

标签: angularjs ng-repeat reveal.js

我正在使用reveal.js。我的幻灯片保存在json对象中。出于某种原因,输出只是一张幻灯片,所有内容都被覆盖!这是我的代码:

   <div class="reveal">
                <div class="slides" data-ng-controller="myControl">
                    <section data-ng-repeat="slide in allSlide">
                        {{slide}}
                    </section>
                </div>
            </div>

和我的js代码

 $scope.allSlide = [...];

我在代码here中发现reveal.js与ng-repeat一起使用但是我的问题是什么? 任何帮助赞赏。 更新:脚本包含在下面的html文件末尾:

<script src="lib/js/head.min.js"></script>
<script src="js/reveal.js"></script>

<script>
   Reveal.initialize({

});

 </script>

1 个答案:

答案 0 :(得分:2)

这很困难,因为在reveal.js尝试将HTML解释为幻灯片放映时,angularJS不会完成渲染。您可以尝试以下内容,该内容来自您发布的工作链接:

<script>
   setTimeout(function() {
      Reveal.initialize({});
   }, 200);
</script>

以下是您发布的工作演示中的相关行:

https://github.com/robinComa/html5-presentation/blob/master/app/scripts/modules/reveal.js#L26

        setTimeout(function(){
            Reveal.initialize({
                controls: true,
                progress: true,
                history: true,
                center: true,

                theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
                transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none
                // ... some stuff in here
            });
        }, 200);

或许最好先提前定义幻灯片的结构,而不是使用ng-repeat?也许布置没有ng-repeat的部分(因此显示可以在没有超时的情况下解释),然后使用ng-include将复制的布局放入每个部分块中。