2016-05-22 31 views
0

我正在尋找一個使Impress.js庫與AngularJS應用程序一起工作的解決方案。帶ImpressJS的AngularJS模板

在我已經包括了一切我index.htm文件,我的模板是:

<div id="impress" class="impress-not-supported" name="impress"> 
<div id="bored" class="step slide" data-x="-1000" data-y="-1500"> 
    <q>Aren’t you just <b>bored</b> with all those slides-based presentations?</q> 
</div> 
<div class="step slide" data-x="0" data-y="-1500"> 
    <q>Don’t you think that presentations given <strong>in modern browsers</strong> shouldn’t <strong>copy the limits</strong> of ‘classic’ slide decks?</q> 
</div> 

<div class="step slide" data-x="1000" data-y="-1500"> 
    <q>Would you like to <strong>impress your audience</strong> with <strong>stunning visualization</strong> of your talk?</q> 
</div> 

我試圖初始化Impress.js通過使用

impress().init();

我index.htm文件或模板中,但它不起作用。我試圖將此代碼添加到我的控制器,但我只得到

Error: body is null

從Impress.js

有沒有一種方法,使impress.js有角的工作?

回答

0

我所做的,是添加功能,我的控制器:

$scope.renderSlideHtml = function (slide) { 
    $timeout(function() { impress().init(); }, 500); 
    return $sce.trustAsHtml(slide.html); 
} 

超時被添加到確保,即正確impress.js負荷。然後在我看來:

<div ng-repeat="slide in slides" ng-bind-html="renderSlideHtml(slide)" id="{{slide.id}}"></div>