Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery可调整大小,带有角度ng样式';行不通_Jquery_Angularjs_Jquery Ui_Jquery Ui Resizable - Fatal编程技术网

jQuery可调整大小,带有角度ng样式';行不通

jQuery可调整大小,带有角度ng样式';行不通,jquery,angularjs,jquery-ui,jquery-ui-resizable,Jquery,Angularjs,Jquery Ui,Jquery Ui Resizable,我无法调整jquery的大小以使用Angular和ng样式。我知道在创建可调整大小的元素时必须指定高度和宽度,但正如您从下面的JSFIDLE中看到的,任何ng样式似乎都会被忽略,并且没有应用高度或宽度 <div ng-controller="myCtrl"> <img resizable src="http://lorempixel.com/400/200/" ng-style="{'width':'400px', 'height':'200px'}"/>

我无法调整jquery的大小以使用Angular和ng样式。我知道在创建可调整大小的元素时必须指定高度和宽度,但正如您从下面的JSFIDLE中看到的,任何ng样式似乎都会被忽略,并且没有应用高度或宽度

<div ng-controller="myCtrl">
    <img resizable src="http://lorempixel.com/400/200/"
    ng-style="{'width':'400px', 'height':'200px'}"/>
</div>

但是,如果我将ng样式替换为style,则效果很好(如下所示)



知道我该如何解决这个问题吗?

将ngStyle传递给您的指令,并在指令中设置css

app.directive('resizable', function () {
    return {
        restrict: 'A',
        scope: {
            callback: '&onResize',
            ngStyle : '=ngStyle'
        },
        link: function postLink(scope, elem, attrs) {

            elem.css(scope.ngStyle);
            elem.resizable();
            elem.on('resizestop', function (evt, ui) {
                if (scope.callback) { scope.callback(); }
            });
        }
    };
});
原因:编译指令resizeble时,元素的宽度和高度为零。您可以通过在resizeble指令中调用elem.css('width')来检查这一点

app.directive('resizable', function () {
    return {
        restrict: 'A',
        scope: {
            callback: '&onResize',
            ngStyle : '=ngStyle'
        },
        link: function postLink(scope, elem, attrs) {

            elem.css(scope.ngStyle);
            elem.resizable();
            elem.on('resizestop', function (evt, ui) {
                if (scope.callback) { scope.callback(); }
            });
        }
    };
});

将ngStyle传递给指令,并在指令中设置css

app.directive('resizable', function () {
    return {
        restrict: 'A',
        scope: {
            callback: '&onResize',
            ngStyle : '=ngStyle'
        },
        link: function postLink(scope, elem, attrs) {

            elem.css(scope.ngStyle);
            elem.resizable();
            elem.on('resizestop', function (evt, ui) {
                if (scope.callback) { scope.callback(); }
            });
        }
    };
});
原因:编译指令resizeble时,元素的宽度和高度为零。您可以通过在resizeble指令中调用elem.css('width')来检查这一点

app.directive('resizable', function () {
    return {
        restrict: 'A',
        scope: {
            callback: '&onResize',
            ngStyle : '=ngStyle'
        },
        link: function postLink(scope, elem, attrs) {

            elem.css(scope.ngStyle);
            elem.resizable();
            elem.on('resizestop', function (evt, ui) {
                if (scope.callback) { scope.callback(); }
            });
        }
    };
});

通常ng样式值将是范围变量
$scope.myStyle={'width':'400px','height':'200px'}
并且您可以在ngStyle中使用该变量

<div ng-controller="myCtrl">
    <img resizable src="http://lorempixel.com/400/200/" ng-style="myStyle"/>
</div>


Ref:

通常ng样式值将是范围变量
$scope.myStyle={'width':'400px','height':'200px'}
并且您可以在ngStyle中使用该变量

<div ng-controller="myCtrl">
    <img resizable src="http://lorempixel.com/400/200/" ng-style="myStyle"/>
</div>


Ref:

这是一个输入错误……如果你检查小提琴,你会发现我使用了正确的语法和引号。在我的实际代码中,我使用范围变量,但为了简单起见,我将其内联。我不认为这会有什么不同。有什么想法吗?如果我使用范围变量或是内联编写样式,应该不会有什么区别,对吗?它看起来与原始样式相同…你做了任何更改吗?谢谢,但当我按run时图像不会显示…这与我在原始帖子中所说的行为相匹配。它仍然忽略了ng-style。这是一个输入错误…如果你检查小提琴,你会发现我使用了正确的语法和引号。在我的实际代码中,我使用范围变量,但为了简单起见,我将其内联。我不认为这会有什么不同。有什么想法吗?如果我使用范围变量或是内联编写样式,应该不会有什么区别,对吗?它看起来与原始样式相同…你做了任何更改吗?谢谢,但当我按run时图像不会显示…这与我在原始帖子中所说的行为相匹配。它仍然忽略了ng风格。这太棒了,谢谢。它与ng style=“{'width':'280px','height':'180px'}”完美配合,但如果我执行类似于ng style=“getLayerStyle(sceneLayer)”的操作,只要函数返回json对象,我想我们就不会有任何问题。我试图用ngstyle的功能重现这个问题,但对我来说效果很好。这是,太好了,谢谢。它与ng style=“{'width':'280px','height':'180px'}”完美配合,但如果我执行类似于ng style=“getLayerStyle(sceneLayer)”的操作,只要函数返回json对象,我想我们就不会有任何问题。我试图用ngstyle的功能重现这个问题,但对我来说效果很好。这是