как округлить число с ноукоутом? - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть номер для «веса», который отображается, как показано ниже, и я хочу округлить его с помощью нокаута js:

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>

1 Ответ

1 голос
/ 22 апреля 2020

Вам не нужен нокаут, чтобы сделать округление. 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 в модели представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...