Привязка приложения vue js к шаблону django без отображения какого-либо содержимого

#html #django #vue.js #vue-component

Вопрос:

Я пытаюсь привязать компонент vue js к файлу HTML-шаблона django, но он не показывает никакого содержимого. Я не получаю никакой ошибки. Просто пустой компонент.

Вот мой HTML-шаблон django:

 {% load render_bundle from webpack_loader %}
{% render_bundle 'product-filter-app' %}

{% block section_more %}

<section id="section_more" class="guide_section">

    <div id="product-filter-app">
        <product-filter-app></product-filter-app>
    </div>

</section>

{% endblock %}
 

Вот мое приложение vue js.
main.js

 import Vue from 'vue'
import * as Sentry from '@sentry/browser'
import 'vue-select/dist/vue-select.css'
import ProductFilterApp from './ProductFilterApp'
import { sentryOptions } from '@/utils/settings'
if (process.env.VUE_APP_MODE !== 'dev') {
  Sentry.init(sentryOptions)
}
new Vue({
  components: { ProductFilterApp }
}).$mount('#product-filter-app')
 

Вот ProductFilterApp.vue

 <template>
  <h1>Test</h1>
</template>
<script>
export default {
  name: 'ProductFilterApp',
  components: {
  },
  props: {
  },
  data () {
    return {
    }
  },
  methods: {
  }
}
</script>
<style scoped>
</style>
 

Веб-пакет успешно генерирует приложение, нет никакой ошибки, а просто отображается пустой компонент в соответствии с снимком экрана.

введите описание изображения здесь

Любая помощь будет оценена по достоинству.

Ответ №1:

На самом деле, вам даже не нужно включать шаблон в свое представление, пока там есть ваш элемент с идентификатором #product-filter-app . Попробуй это сделать:

 new Vue({
  el: '#product-filter-app',
  components: { ProductFilterApp },
  template: '<ProductFilterApp/>'
})
 

И вы можете удалить <ProductFilterApp><ProductFilterApp/> из своего поля зрения.

Комментарии:

1. Я тоже пробую этот способ, но он не работает.

2. Есть Do not use 'new' for side effects no-new ли у вас какие-нибудь идеи по этому поводу?

3. @patel887 О, странно — это звучит как ошибка eslint. У вас есть правило линтинга под названием «нет нового»?

4. Нет, я не добавлял никаких правил под названием «нет-нового».

5. Сейчас он не выдает никаких ошибок, но все еще не загружается. Есть ли у меня что-нибудь со стороны джанго?