Различия между экземпляром vue и компонентом vue?

Я новичок в vue js и задаю некоторые вопросы, изучая его.

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

Итак, мой вопрос в том, что хорошо иметь несколько намерений в одном приложении (демонстрационный код работает нормально, но это правильный способ)? Какая наилучшая практика использования экземпляра и компонента в vue-приложении?

Ответ 1

Хорошо, чтобы иметь два экземпляра в одном проекте, однако вы, вероятно, не хотите этого делать.

Хорошим сценарием является наличие одного основного экземпляра для управления вашим приложением, особенно если вы создаете одностраничное приложение (SPA). Затем используйте как можно больше компонентов.

Компоненты - отличный способ повторно использовать код и организовывать его, а с Vue.js очень легко общаться между вашими компонентами и вашим "основным" экземпляром Vue.

Ответ 2

Это сильно зависит от вашей ситуации.

Я работаю над большим веб-проектом, который не является SPA. У нас есть экземпляр Vue для каждого "силоса" приложения. Мы медленно переходим к более старым проектам из внешнего интерфейса jQuery, поэтому возможно, что по мере его развития мы сможем сконденсироваться до одного экземпляра Vue, но у нас нет проблем с несколькими экземплярами. Простота использования Vue в существующих проектах была одним из самых больших решающих факторов при выборе ее над другой библиотекой, такой как реакция.

Я использовал другой подход с зеленым развитием, одним экземпляром и многими компонентами.

Ответ 3

Экземпляр Vue может связать и управлять уже существующим элементом.

Компонент Vue более подходит для создания нового элемента и повторного использования в любом месте.

Ответ 4

Есть нечто общее и некоторое различие между экземпляром Vue и компонентом Vue.

  1. Из Vue документов:

все компоненты Vue также являются экземплярами Vue и поэтому принимают один и тот же объект параметров (за исключением нескольких корневых параметров).

Корневые экземпляры Vue принимают такие свойства, как el, router, а компоненты Vue - нет. Свойство data в корневых экземплярах Vue является объектом, но в компонентах Vue должна быть функция.

  1. Цель дизайна другая:

Корневой экземпляр Vue является средством запуска приложений Vue, компонент Vue является расширением экземпляра Vue.

Компоненты Vue могут создавать элементы для повторного использования во многих местах. Это характерная черта компонентизации, в основном отражающая точку.

Ответ 5

Компоненты Vue extends экземпляры Vue

но экземпляры Vue принимают такие свойства, как el, router, а компоненты Vue - нет.


лучшая практика:

один экземпляр Vue

много Vue компонент