Javascript AngularJS中的动态布局

Javascript AngularJS中的动态布局,javascript,angularjs,Javascript,Angularjs,角度模板非常好用,我想知道是否有一种方法可以使用这些模板来实现动态布局,而不必创建许多指令。例如: <div id="foo" style="width:100%" /> <div style="width:{{ foo.offsetWidth * 0.5}}px" /> 这可能吗?如果可能,最简单的方法是什么。我不确定您需要多少指令,但您可以使用控制器和ng样式来动态更改CSS。我将其用于HP工具栏,如下所示: io.on("updateHP", functio

角度模板非常好用,我想知道是否有一种方法可以使用这些模板来实现动态布局,而不必创建许多指令。例如:

<div id="foo" style="width:100%" />

<div style="width:{{ foo.offsetWidth * 0.5}}px" />


这可能吗?如果可能,最简单的方法是什么。

我不确定您需要多少指令,但您可以使用控制器和
ng样式来动态更改CSS。我将其用于HP工具栏,如下所示:

io.on("updateHP", function(data) {
    $scope.hpBar = {width:((data.hp / data.maxHP)*100)+"%"}
    $scope.currentHP = data.hp;
    $scope.maxHP = data.maxHP;
    $scope.$apply();
});

<div>
    HP: <span id="hp" ng-bind-template="{{currentHP}}"></span>/<span id="maxHP" ng-bind-template="{{maxHP}}"></span>
    <div class="health">
        <span ng-style="hpBar"></span>
    </div>
</div>
io.on(“updateHP”,函数(数据){
$scope.hpBar={width:((data.hp/data.maxHP)*100)+“%”
$scope.currentHP=data.hp;
$scope.maxHP=data.maxHP;
$scope.$apply();
});
惠普:/

我不确定您需要多少指令,但您可以使用控制器和
ng样式来动态更改CSS。我将其用于HP工具栏,如下所示:

io.on("updateHP", function(data) {
    $scope.hpBar = {width:((data.hp / data.maxHP)*100)+"%"}
    $scope.currentHP = data.hp;
    $scope.maxHP = data.maxHP;
    $scope.$apply();
});

<div>
    HP: <span id="hp" ng-bind-template="{{currentHP}}"></span>/<span id="maxHP" ng-bind-template="{{maxHP}}"></span>
    <div class="health">
        <span ng-style="hpBar"></span>
    </div>
</div>
io.on(“updateHP”,函数(数据){
$scope.hpBar={width:((data.hp/data.maxHP)*100)+“%”
$scope.currentHP=data.hp;
$scope.maxHP=data.maxHP;
$scope.$apply();
});
惠普:/
该指令允许您在HTML上设置CSS样式 元素有条件地

该指令允许您在HTML上设置CSS样式 元素有条件地

将css样式绑定到具有相同名称的对象属性。您的示例是():


将css样式绑定到具有相同名称的对象属性。您的示例是():



我可以通过编程方式内联到另一个元素的宽度?是的..你可以通过Jason Goemaat制作的小提琴来检查它…我可以通过编程方式内联到另一个元素的宽度?是的..你可以通过Jason Goemaat制作的小提琴来检查它…谢谢你的小提琴,但是你正在使用控制器来帮助这里。这感觉像是一个视图问题,我更喜欢在嵌入代码的标记中这样做。啊,我明白了,你想把它设置为foo元素宽度的1/2,我假设你刚刚使用了两次名称“foo”。我会留下我的答案,因为它满足了问题的要求,但没有直接的方法。您需要编写一个指令,因为需要监听事件的大小调整以改变大小。不过那也不会太难。谢谢你的提琴,不过你在这里用的是控制器。这感觉像是一个视图问题,我更喜欢在嵌入代码的标记中这样做。啊,我明白了,你想把它设置为foo元素宽度的1/2,我假设你刚刚使用了两次名称“foo”。我会留下我的答案,因为它满足了问题的要求,但没有直接的方法。您需要编写一个指令,因为需要监听事件的大小调整以改变大小。不过这并不难。