Индивидуальный компонент Vue с использованием v-модели - PullRequest
0 голосов
/ 12 февраля 2019

Vue newbie here.

Чтение следующего руководства по компонентам представления:

https://vuejs.org/v2/guide/components-custom-events.html#Customizing-Component-v-model

Предположительно, после нажатия флажка значение 'lovingVue' будетпередается «проверенному» объекту, который будет либо истинным, либо ложным значением.Но я не понимаю, как должен выглядеть экземпляр Vue, и мне интересно, может ли кто-нибудь мне это объяснить?

Ура, Geof.

1 Ответ

0 голосов
/ 12 февраля 2019

JS Fiddle Demo (откройте консоль, когда вы ее используете)

Привет, Джефри,

Прежде всего, я думаю, что я тоже новичок, и явсегда будет:) ....

Vue.component() - это способ создания компонентных шаблонов, но внутри сценария, а не внутри HTML-шаблона .... все же вам нужно инициировать new Vue() экземпляр.

"$emit('change', $event.target.checked) внутри дочернего компонента, это просто способ для дочернего компонента отправлять обратно значения родительскому компоненту ...

первый аргумент, который принимает $emit(), этоимя прослушивателя событий (может быть любым словом), проверьте эту ссылку , поэтому прослушиватель событий здесь <base-checkbox @change="lovingVue"> называется @change.

Второй аргумент, который он принимает, это то, какое значение вы хотите отправить обратно родителю ... в этом случае мы хотим отправить значение v-bind:checked="checked" .... и это имя мы упоминаем после$event.target.

затем следует часть lovingVue, которую вы можете вызывать как функцию в методах (как если бы вы рассматривали ее как любое другое событие), и она будет нести значение вместе с ней.

    new Vue({
    //'#app' is the name of the parent componenet
    el: '#app',
    methods:{
      // The e (can be any letter or word) here is the value that was emitted by the
      // child(base-checkbox) to the parent(app)...and this case the value is Boolean
      lovingVue(e){
        console.log(e)
      }
    }
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...