В Vue вы можете вызвать функцию create () из метода? - PullRequest
0 голосов
/ 11 января 2019

Итак, я делаю приложение в vue, при загрузке страницы оно берет cookie с почтовым индексом пользователя и выполняет поиск с использованием этого почтового индекса, но пользователю также разрешается изменить этот почтовый индекс, если он неправильный, поэтому я хочу, чтобы в состоянии вызвать созданный метод изнутри обычного метода, который будет работать, когда они изменят почтовый индекс, это возможно в Vue?

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Это возможно с использованием $options. Но, как отметила Ана, вы должны определять метод, который вызывает created. Звонок created сбивает с толку его цель. Другой метод должен быть назван так, чтобы было понятно его назначение.

Пример использования $options, просто чтобы продемонстрировать возможность:

new Vue({
  el: '#app',
  created() {
    console.log("Created");
  }
});
<script src="https://unpkg.com/vue@latest/dist/vue.js"></script>
<div id="app">
  <button @click="$options.created">Run</button>
</div>
0 голосов
/ 11 января 2019

Отредактировано: я думал, что это невозможно, но, как указал @RoyJ, очевидно, вы можете, но ниже альтернативное решение вместо вызова created() hook.

Вместо этого вы можете определить другую функцию в свойстве methods, которую вы можете вызывать во время ловушки created, и когда есть изменение на zip, вы можете вызывать ту же функцию.

Таким образом, вы определяете логику только в одном месте и просто повторно используете ее, когда вам это нужно.

methods: {
  zipCodeRelatedRequest() {
    // core logic here
  },
  handleZipChange() {
    this.zipCodeRelatedRequest()
  }
},
created() {
  this.zipCodeRelatedRequest();
}

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