我是混合应用程序的新手,并使用Ionic框架开发应用程序,我希望在<Slider Minimum="0" Maximum="100" local:Extensions.ValueChangedCommand="{Binding ValueChangedCommand}"/>
内部实现多个签名板。使用定义的css规范显示画布。但是,签名不起作用。
signature.html
ng-repeat
controller.js
<div ng-repeat="esign in consent" >
<div ><!--Signature Pad -->
<canvas id="{{'canvas'+$index}}" ng-init="createSigPad($index)" width='300' height='180' style='border: 1px solid blue;'></canvas>
<div class='button-bar'>
<a class='button button-energized' >Clear</a>
<a class='button button-balanced' >Save</a>
</div>
</div>
</div>
在Logcat中,我看到 TypeError:无法调用方法&#39; getContext&#39;为null
注意:当我尝试$scope.createSigPad=function(index){
// alert(document.getElementById('canvas'+index).id);
new SignaturePad(document.getElementById('canvas'+index));
}
请帮我找到解决方案。
答案 0 :(得分:0)
尝试将ng-init更改为ng-click以检查其是否正常工作,我需要等待ng-repeat完成然后调用createSigPad, 最好用指令做这件事。
你可以尝试这个选项: 你的HTML需要
<canvas ng-init="createSigPad($event)" width='300' height='180' style='border: 1px solid blue;'></canvas>
你的职能需要是:
$scope.createSigPad=function($event){
new SignaturePad($event.currentTarget);
}
用这种方式获得元素目标