首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular ngStyle值更改不适用于DOM

Angular ngStyle值更改不适用于DOM
EN

Stack Overflow用户
提问于 2014-07-22 11:54:23
回答 2查看 902关注 0票数 1

例如:

代码语言:javascript
复制
<ul id= "scroller" data-ng-style="{'width': {{competitors.length * 114}} + 'px'}">

起初竞争对手数组有两个元素,宽度是228px;,然后数组有六个元素,data-ng-style中显示的宽度是668px,但实际上宽度仍然是228px,为什么?

代码语言:javascript
复制
    app.controller('intelligenceController', ['$scope', '$http', function($scope,$http)  {
    $scope.competitors = [
        {
            "competitorId": "excellent",
        },
        {
            "competitorId": "average",
        }
    ];
    $scope.sumCompetitors = function(customList) {
        if (0 === customList.length) {
            $scope.competitors = $scope.competitors.concat({
                "competitorId": "none",
            });
        } else {
            $scope.competitors = $scope.competitors.concat(customList);
        }
    };
    $http.get('./listCompetitors.json').success(function(competitorsList) {
        if (false === competitorsList.hasError && 0 === competitorsList.content.code) {
            $scope.sumCompetitors(competitorsList.content.data);
        }
    });
}]);
EN

回答 2

Stack Overflow用户

发布于 2014-07-22 12:29:37

原因是您使用的是"concat“

concat不会更改现有数组,但会返回一个新数组,其中包含联接数组的值。

http://www.w3schools.com/jsref/jsref_concat_array.asp

Angular正在“观察”,并在这里引用了原始数组:

代码语言:javascript
复制
$scope.competitors = [
    {
        "competitorId": "excellent",
    },
    {
        "competitorId": "average",
    }
];

当您使用" concat“时,您将该引用更改为一个新的引用,因为concat不会修改现有的数组,它会返回一个新的数组。

您需要推送到现有的数组。

票数 1
EN

Stack Overflow用户

发布于 2014-07-22 12:40:53

我猜测您使用的是旧版本的angular.js,可能是v1.0.8或更低版本。

尝试将ng-style中的{{ .. }}替换为( .. ),如下所示:

代码语言:javascript
复制
<ul id="scroller" data-ng-style="{'width': (competitors.length * 114) + 'px'}">

或者,如果可能,您可以将angular升级到1.2.x以使用原始语法。

编辑:我刚刚发现,即使是在1.2.x中,{{ .. }}语法也只能在第一次使用。如果表达式已更改,则不会发生任何操作。因此,您必须改为使用( .. )

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24878612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档