我在使https://github.com/gthmb/jquery-free-transform和AngularJS正常工作时遇到麻烦。缩放和旋转的控件没有获得附加元素的宽度/高度。我正在使用指令将jQuery.freetrans()附加到动态生成的元素上。

<div ng-class="layout.element" freetrans></div>




app.directive('freetrans', function () {
    return {
        restrict: 'A',
        link: function postLink(scope, elem, attrs) {
            elem.freetrans();
         }
    };
});


类别名称是“图片”。如果我使用它很好用

<div class="image" freetrans></div>


代替

<div class="{{ layout.element }}" freetrans></div>


要么

<div ng-class="layout.element" freetrans></div>


希望任何人都可以帮助我。

谢谢&格蕾兹

最佳答案

从我看来,似乎您是在附加类或在DOM中呈现元素之前调用elem.freetrans()的。

您可以尝试以下两种方法:


使用$ timeout(function(){elem.freetrans()})-有时,您需要在指令中使用$ timeout在元素已在DOM中呈现后对元素进行某些操作(例如,使它与/ height一起使用);
尝试调用elem.freetrans()时,使用attrs。$ observe确保已设置该类。

07-26 01:20