Фильтры VueJs не действуют - PullRequest
2 голосов
/ 18 июня 2019

Пример простого кода

<!DOCTYPE html>
<html>
<head>
  <title>My first Vue app</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.0/axios.min.js"></script>
  <style>
  </style>
</head>
<body>
<div id="app">
    <h1>Bitcoin Price Index</h1>
    <div v-for="currency in info">
        {{ currency.description }}
        <span v-html="currency.symbol"></span>{{ currency.rate_float || currencyToDeciaml }}
    </div>
</div>
  <script>
      const app = new Vue({
          el   : '#app',
          data : {
              info : null,
          },
          filters : {
              currencyToDeciaml(val) {console.log(`foo`);
                  return Number(val).toFixed(2);
              }
          },
          // Dom is ready so now load the data
          mounted() {
            axios.get(`https://api.coindesk.com/v1/bpi/currentprice.json`)
                .then(response => this.info = response.data.bpi);
          },
      });
  </script>
</body>
</html>

Я пытаюсь применить простой фильтр currencyToDeciaml, но он даже не выполняется и foo не отображается.Я не могу понять это.Любая помощь будет оценена.

1 Ответ

4 голосов
/ 18 июня 2019

Правильный синтаксис для фильтров таков:

{{ currency.rate_float | currencyToDeciaml }}

только с одной трубой

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