角度范围的变量来自指令而不是以ng风格同步

时间:2014-12-04 03:51:56

标签: javascript angularjs angularjs-directive ng-style

我在这里遇到了一个非常奇怪的情况。

起初,我写了一个简单的指令。

mublABase.directive('parentSize', function() {
    return {
        link : function(scope, elem, attrs) {
            scope.parentSize = {
                width : elem.parent().width(),
                height : elem.parent().height()
            }
        }
    }
});

这是我简化的HTML代码

<input type="text" ng-model="parentSize.width"> //for test No.1
<div parent-size class="no-border">
    {{parentSize.width}} //for test No.2
    <span class="glyphicon glyphicon-leaf" ng-style="{'font-size':'{{parentSize.width}}px'}"></span> //this is the problem No.3
</div>

结果破裂了。 No.1输入和No.2文本表示宽度为285.但是在No.3,叶子图标的大小只是默认大小。
(很抱歉没有发布结果图片。我在这里非常诺布,我没有任何声誉)

怎么会发生?更重要的是,我该如何解决?

1 个答案:

答案 0 :(得分:7)

您的ng-style语法混乱了。

ng-style中对象的每个属性的值是一个AngularJS表达式,这意味着您可以直接引用范围属性。

将其更改为ng-style="{'font-size': parentSize.width + 'px'}"