Angular:将函数应用于html变量

时间:2017-07-10 10:08:26

标签: javascript angularjs overlay

我想通过以下代码向按钮显示叠加层:

<div id="overlay" ng-if="vm.showOverlay">{{control}}</div>
<button ng-mouseover="vm.showOverlay = true" ng-mouseleave="vm.showOverlay = false" class="btn" ng-class="{classWhite: control.values.value1, classRed: control.values.value2, classOrange: control.values.value3}" ng-click="colorChange(control)"></button>

然而,我收到的控件是:

<td ng-repeat="control in general">

是一个复杂的对象,我应该在其上应用函数:

    $scope.stateFromControl=function(control){
        var values=control.values;
        var resultValue=(values.value1)?0:(values.value2)?1:2;
        return translateState(resultValue);

    }

获取要显示的值。在{{}}插槽中插入该功能不起作用;我该怎么办?

1 个答案:

答案 0 :(得分:0)

我(暂时)通过添加我在每次更改时管理的变量状态来管理它:

var newValue={
            id: i,
                name: impianto,
            state: translateState(oldStatus),
            values:{
                value1: oldStatus==0,
                        value2: oldStatus==1,
                        value3: oldStatus==2
            }
        }

以这种方式使用:

<div id="overlay" ng-if="vm.showOverlay">{{control.state}}</div>

粗糙,但有效。