Передайте переменную в компонент VueJS - PullRequest
1 голос
/ 26 апреля 2019

Мне нужно передать переменную компоненту.Моя установка выглядит следующим образом:

Main: Meet.vue

<html>
 <div class="carousel-cell">
    <Category :searchTerm="woman"></Category>
    </div>
 <div class="carousel-cell">
    <Category :searchTerm="men"></Category>
    </div>
[..]
<script>
import Category from './Category'
export default {
  components: {
    Category
  },

Sub: Category.vue :

export default {
  data () {
    return {
      search: [how to access the **searchTerm** here?]

Как получить доступ к searchTerm <Category :searchTerm="woman"></Category> из Meet.vue в Category.vue?

Ответы [ 3 ]

2 голосов
/ 26 апреля 2019

Вам нужно будет ввести это свойство searchTerm в свой компонент Category, как описано в документации VueJS

В Category.vue

export default {
  props: ['searchTerm'],

  // Your component code (computed, methods, watch, ...)
}

Если вы хотите применить некоторую проверку к вашей опоре

export default {
  props: {
    searchTerm: {
      type: String,
      required: false,
      // If not required, it's possible to give a default value
      default: "woman"
    },
  }

  // Your component code (computed, methods, watch, ...)
}

Затем вы можете прочитать свою опору с помощью this.searchTerm. Вы также можете непосредственно прочитать его внутри <template></template>, например, с помощью {{ searchTerm }}.


Если в какой-то момент вам понадобится написать одну из ваших вещей, лучше всего скопировать ее значение в локальную переменную и работать с ней

props: ['searchTerm'],
data: function () {
  return {
    // Write on search variable if needed
    search: this.searchTerm
  }
}
1 голос
/ 26 апреля 2019

Сделайте, как показано ниже, при вызове компонента Category.

<Category :search="woman"></Category>

Здесь :search:"woman" означает передачу woman в качестве значения свойству Category компонента.

Затем в Category компонент:

export default {
  props: {
    search: {type: string, required: true}
    //Here it will give error if the search is passed anything but string
    //And if search is not passed it will give error. 
  }
  //Everything else

или

export default {
  props: [search], //No checking of data type and it's not requried
  //Everything else
1 голос
/ 26 апреля 2019

Вы используете реквизит , поэтому ответ таков:

export default{
    props: ['searchTerm'],

затем его можно использовать напрямую.

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