在angularjs中观看。我需要在加载时设置画布高度和宽度属性,并在屏幕更改时设置

时间:2014-05-21 13:41:00

标签: angularjs canvas

如果窗口调整大小,我需要调整画布的大小。

我的代码如下:

角:

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摘要循环错误。任何人都可以帮我告诉我哪里出错......

0 个答案:

没有答案