私はangle-ui-routerを使って角度のあるAppを持っています。
ページ私は上品な外観を作りました。 私はhtmlのスナップショットを取ってpdfを作成しようとしています。
これを行うには、私はPhantomを使用しています。NodeとAngular-ng-repeatがレンダリングされていないPhantom Js
PDFを正常にトリガーして作成することはできますが、HTMLのng-repeatセクションはレンダリングしません。
マイHTML:
<div>{{vm.hello}}</div>
<div class="row">
<div class="col-xs-2">Heading</div>
</div>
<div class="row" ng-repeat="record in vm.records">
<div class="col-xs-2">Space</div>
<div class="col-xs-2" ng-bind="record.id"></div>
</div>
私のコントローラはvm.recordsを移入する負荷にトリガします。 vm.helloはハードコーディングされており、うまく描画されます。
ng-repeatロードには何もありません。
:
var phantom = require('phantom');
function pdf(req, res) {
console.log('pdf function entered');
var url = "http://myapp.com/page";
phantom.create().then(function(ph) {
ph.createPage().then(function(page) {
page.viewportSize = {
width: 1400,
height: 1024
};
page.property('onLoadFinished', function(status) {
console.log("Load Finished with status " + status);
});
page.open(url).then(function(status) {
page.render('test.pdf', {
format: 'pdf',
quality: '100'
}).then(function() {
console.log("File Created");
page.close();
ph.exit();
});
});
});
});
res.status(200).send();
}
誰もがNG-repeatが動作しません理由としていくつかの光を当てることができますか?私は他の質問/回答に基づいて遅延を追加しようとしましたが、うまく動作していないようです。
どのPhantomJSバージョンを使用しますか? 'onConsoleMessage'、' onError'、 'onResourceError'、' onResourceTimeout'イベント(古い[例](https://gist.github.com/artjomb/4cf43d16ce50d8674fdf#file-3_phantomnodeerrors-js)に登録してください。まったく同じように動作しません)。多分エラーがあるかもしれません。 –