如何用knoukout四舍五入一个数字?

how to round a number with knoukout?

我有一个 'weight' 的数字,如下所示,我想用 knockoutjs 将其四舍五入:

3.0000

我想要这样:

3

这是代码:


                        <strong class="product-item-name">
                            <!-- ko if: product_has_url -->
                            <a data-bind="attr: {href: product_url}, html: product_weight"></a>
                            <!-- /ko -->
                            <!-- ko ifnot: product_has_url -->
                            <!-- ko text: product_weight --><!-- /ko -->
                            <!-- /ko -->
                        </strong>

你真的不需要敲除来进行四舍五入。 Math.round (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round) 会做你想做的事。您可以调用 javascript 函数或绑定范围内的任何其他函数。想想你的情况,就像这样:

<--ko text: Math.round(product_weight()) -->

您也可以将函数从视图模型中挂起并在绑定中调用它们,如下所示:

var myViewModel {
  myViewProperty: ko.observable("a value"),
  myRoundingFunction: function(v) {
    return Math.round(v);
  }
}

然后做:

<div data-bind="text:myCoolFunction(myViewProperty)"></div>

这将在视图模型中的 属性 myViewProperty 上调用视图模型中的函数。