如何在显示前从敲除绑定中修改参数?

时间:2019-12-26 19:40:38

标签: razor knockout.js

提前道歉-我对此很陌生。

以下(已裁剪)返回所需的参数值。但是在显示该值之前,如何修改该值(例如,对其应用一些数学运算)?

Prelude> data Color = Red | Blue | Green | Black deriving (Show, Bounded, Enum)
Prelude> [minBound..maxBound]::[Color]
[Red,Blue,Green,Black]

尝试:

  1. 分配给局部变量,然后修改该变量。

    • 无法确定是否甚至可以分配。这不起作用:

      @for (int i = 0; i < Model.Cells.Count; i++)
          {
              <!-- ko text: values[i].value--><!-- /ko -->
          }
      
  2. 在脚本块中将数学运算写为函数。传递参数值,返回修改后的值。

    • 我太新了,甚至不能在这里包括尝试的代码...

1 个答案:

答案 0 :(得分:1)

您可以只使用文本绑定来运行任何功能,

因此您可以例如预先定义一个包含所需功能的javascript对象:

var helper = {
    returnModifiedValue:function(t){
       var _modified = parseFloat(t).toFixed(2);
       return _modified;
    }
}

以及您的代码中:

@for (int i = 0; i < Model.Cells.Count; i++)
    {
        <!-- ko text: helper.returnModifiedValue(values[i].value)--><!-- /ko -->
    }