Можно ли визуализировать части приложения Vue на нескольких узлах? - PullRequest
0 голосов
/ 25 апреля 2018

У меня довольно сложная страница, которая теперь статична. Я хочу сделать некоторые части страницы динамичными, используя Vue. Позже я хочу сделать всю страницу SPA, но пока это не вариант.

Вопрос в том, возможно ли создать приложение Vue, которое отображает свои компоненты в разных частях страницы, не превращая всю страницу в элемент Vue? Примерно так:

new Vue({
    store,
    router,
    render: {
      '#header': ReviewsSummaryComponent,
      '#score': ScoreComponent,
      '#reviews': ReviewsComponent,
      '#compliments': ComplimentsComponent
    }
  })

Самая важная часть здесь - это то, что я хочу, чтобы они разделили общий магазин, маршруты и (не обязательно) родителя. Это возможно в Vue?

1 Ответ

0 голосов
/ 25 апреля 2018

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

new Vue({
  el: "#header",
  store,
  components: { ReviewsSummaryComponent },
  template: "<ReviewsSummaryComponent/>"
});
new Vue({
  el: "#score",
  store,
  components: { ScoreComponent },
  template: "<ScoreComponent/>"
});
new Vue({
  el: "#reviews",
  store,
  components: { ReviewsComponent },
  template: "<ReviewsComponent/>"
});
new Vue({
  el: "#compliments",
  store,
  components: { ComplimentsComponent },
  template: "<ComplimentsComponent/>"
});

Как видите, я добавил только store.Технически, вы также можете добавить router к ним всем, но в любом случае это не имеет особого смысла.

...