如果窗口调整大小,我需要调整画布的大小。
我的代码如下:
角:
app.directive('canvasSet', function ($compile) {
return {
link: function (scope, element, attrs) {
scope.getWidth = function () {
return element.parent()[0].offsetWidth;
};
scope.$watch(scope.getWidth, function (width) {
console.log(width);
console.log(scope.info.selectedField);
element.attr("width", width * scope.info.selectedField.zoomInfo.width /100);
element.attr("height", width / 100 * scope.info.selectedField.zoomInfo.width / scope.info.selectedField.zoomInfo.aspectRatio);
$compile(element)(scope);
});
}
}
});
HTML:
<div class="cardimgeditcontainer relative" id="contwrap{{set}}" ng-show="info.zoom">
<img ng-src="/zoom-images/{{info.selectedField.zoomInfo.image}}" ng-style="zoomStyles()" />
<canvas id="zoom" canvas-set=""></canvas>
</div>
我收到了一个无限的摘要错误。我明白这是什么,但不知道为什么我会得到它。在我添加编译之前,它似乎最初工作,而不是在屏幕大小改变时(和父div)更新 - 当我添加编译时,它产生了一个infinate摘要循环错误。任何人都可以帮我告诉我哪里出错......