angular.js将函数传递给对象

时间:2013-10-23 12:57:26

标签: function angularjs

我认为如果我展示更广泛的范围可能会有用:)下面是我的html:

<div class="resSection2 rel">
                        <div class="proceed rel">
                        <div ng-repeat="record in records">
                        <div class="rel fptsans {{record.className()}}">Balkans<i class="icon-check icon-2x posIco"></i></div>

                        </div>
                        </div>
                        </div>

这里的关键因素是{{record.className()}}绑定,它取决于它的值决定了记录的行为,是否得到了正确的样式。正如您所看到的,它是对函数的引用。这是JS:

var antroApp = angular.module('antroApp', []);
$scope.records = [
    {id:0, 
    className: $scope.probieren,
    recordName:$scope.alpeic.length 

    },
    {id:1,
    className: $scope.probieren,
    recordName:$scope.alpeic.length 

    }

    ];

$scope.probieren = function(){
    if($scope.records.recordName > 10){
        $scope.records.className == 'special'
    }
    else{
        $scope.records.className == 'normal'
    }
}   
}
antroApp.controller('dialogWindows', dialogWindows);

当我静态设置className(“特殊”或“正常”)时,它会完美呈现 但是当谈到一个功能时,一切都会卡住。真的对此感到无助。任何提示赞赏。

1 个答案:

答案 0 :(得分:0)

你把它设置得很好,除非它们必须按照其他顺序定义,但是当你使用它时在你的dom中调用这样的函数:

<div data-ng-repeat="record in records">
    <div class="{{ record.className() }}">{{ record.recordName }}</div>
</div>

还有一些问题涉及如何引用$ scope.records.className而不是数组的某些索引作为记录,但我的答案应该回答您的具体问题。