laravel仅在页面上加载vuejs组件我需要它们

时间:2018-11-27 12:01:26

标签: javascript laravel vue.js vue-component

此刻,我们正在使用

将所有组件加载到app.js
Vue.component('ID', path-to-component);

这意味着,如果我们在某个组件中发生故障,则会破坏所有组件。

有没有办法在我们需要的特定页面上加载组件?

我尝试将其推入刀片服务器的堆栈中,但错误

  

未捕获的ReferenceError:vuejs未定义require

我的代码是:

@push('scripts')
    <script>
        Vue.component('BookingPayments' ,  require('./components/bookings/bookings-payments'));
    </script>
@endpush

2 个答案:

答案 0 :(得分:0)

我建议您使用lucasmazza/page.js仅在特定的URL上加载javascript代码。您可以将代码范围设置为:

page.at('payments', () => {
    Vue.component('BookingPayments', require('...'));
});

该库在data-page标签上使用body属性。

您只能在Laravel Mix(webpack)正在处理的文件上使用require方法。

答案 1 :(得分:0)

只需使用导入选项:

`Import otherComponent from './component/otherComponent.vue'`

因此它不是全局组件,仅在此页面中可用。