Phantom 不会初始化/加载 Angularjs 控制器方法
Phantom wont initialize/loaded angularjs controller methods
我需要帮助从由 AngularJS 控制器提供支持的 HTML 页面创建 PDF 文件。 PDF 将使用 Phantom 模块创建。 一旦我导航到特定的 URL,我就能够正确显示和绑定数据,但是当我调用 Phantom 来呈现页面时,它不会加载/启动/调用控制器方法 我尝试了不同的方法,例如从div 执行 ng-init 或调用函数从控制器完成加载甚至使用
$scope.$on('$viewContentLoaded', function(){
//code here...
})
幻影代码:
function DoThePDF(){
phantom.create(function(ph){
ph.createPage(function(page) {
page.set("paperSize", { format: "A4", orientation: 'portrait', margin: '1cm' });
page.open(address, function(status) {
if(status !== 'success'){
console.log('unable to open webpage');
}
else{
setTimeout(function() {
page.render("reports.pdf");
console.log("page rendered");
ph.exit();
}, 5000);
}
})
})
});
}
调用 page.open(address, function(status) {...} 时,我可以看到页面已打开,但角度事件/方法未被初始化/调用,因此当页面呈现时是一个空的 HTML 模板,没有数据被绑定。 我添加了延迟,但仍然没有帮助。
PhantomJS 1.9.x 不支持 websocket,因此我必须使用 PhantomJS 2。 由于正在开发中,还没有正式版本,但有一个测试版此处按指定构建。祝你好运
相关文章:
- 将值从html传递到AngularJS控制器
- angularjs-控制器在表单提交时未调用
- Angularjs控制器本地错误
- AngularJS:控制器中的函数被模板多次调用
- 将AngularJS控制器拆分为多个文件
- AngularJS控制器范围
- AngularJS控制器不工作,为什么?(简单的控制器示例)
- AngularJS控制器在注入工厂时抛出错误
- 如何使用onclick事件调用AngularJS控制器
- angularjs控制器未启动
- 设置AngularJS控制器属性不能是使用Coffeescript的最后一行
- 如何使AngularJS控制器依赖于通过ajax加载在rootScope上的值
- 通过因果报应测试管理angularjs控制器初始化
- AngularJs 控制器中的实时时钟功能
- Angularjs:控制器的代码组织
- 简单的AngularJS控制器不起作用
- 如何从 angularjs 控制器访问$resource
- 在 html5 视频结束时调用 AngularJS 控制器函数
- AngularJS控制器内部的功能
- AngularJS控制器中基于值的重定向