html2canvas不在angularjs中工作
我正在尝试使用html2canvas库内angularjs控制器将div元素转换为画布,它在控制台中不会抛出错误,但只给出一个空的画布,我在母版页中包含了html2canvas脚本,div元素位于使用ng视图加载的模板页面中 div元素是html2canvas不在angularjs中工作,angularjs,html2canvas,Angularjs,Html2canvas,我正在尝试使用html2canvas库内angularjs控制器将div元素转换为画布,它在控制台中不会抛出错误,但只给出一个空的画布,我在母版页中包含了html2canvas脚本,div元素位于使用ng视图加载的模板页面中 div元素是 <div id="barcodeHtml" style="background-color: #82c6f8"> <div style="width: 20%;float: left;display: list-item;"&
<div id="barcodeHtml" style="background-color: #82c6f8">
<div style="width: 20%;float: left;display: list-item;"></div>
<div style="width: 40%;float: left; align-content: center">
<h2 style="display: inline;">CCAD</h2>
<br>
<div style="float: left;width: 50%">
<h4>MEMBER NAME</h4>
<h2>{{memberName}}</h2>
</div>
<div style="float: right;width: 50%"></div>
<br>
<br>
<div style="float: left;width: 100%">
<h4>MEMBER SINCE</h4>
<h3>{{memberSince}}</h3>
</div>
<br>
<br><br>
<br>
<img src="{{imgSource}}"/>
</div>
</div>
<a class="btn btn-custom" ng-click="getCanvas()">get Canvas</a>
我错过了什么?
提前感谢您。您的内联样式有问题。 我试着删除
float:left代码>从您的上层div
[从这里开始:
],然后它就工作了
请参见问题是您的div
与id=“barcodeHtml”
没有高度,因此无法附加到正文中
试试这个
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.getConvas=function()
{
html2canvas($(“#条形码HTML”){
onrendered:函数(画布){
document.body.appendChild(画布);
}
});
}
})
CCAD
成员名称
{{memberName}}
成员自
{{memberSince}}
得到康瓦斯
不熟悉html2canvas
,但可能它不支持jQuery对象,应该像html2canvas($(“#条形码HTML”)[0]中那样传递一个原始元素,{
我尝试了你的建议,结果是与document.getElementById(“条形码HTML”)相同的尝试
?@anoop还包括same@FerasSalim:您确定在getConvas()
方法中得到调用,并且没有任何控制台错误吗?
$scope.getCanvas=function()
{
$scope.memberName=data.html.name;
$scope.memberSince=data.html.year;
$scope.imgSource=data.html.code;
html2canvas($("#barcodeHtml"), {
onrendered: function(canvas) {
document.body.appendChild(canvas);
}
});
}