在Laravel Spark中使用Vue自定义组件

时间:2016-05-23 19:55:56

标签: php laravel vue.js laravel-spark

我很高兴使用browserify等进行js开发。我也是Vue的新手。我想为我的应用程序创建其他自定义组件。然而,即使在逐步遵循不同的教程时,我也失败了很多点。

这就是我目前得到的:

example.js

var MyComponent = Vue.extend({
  data: function() {
    return { message: 'This is a test' }
  },

    template: '{{ message }}'
  });

Vue.component('my-component', MyComponent);

new Vue({
  el: '#example'
});

app.js

require('spark-bootstrap');

require('./../example.js');

require('./components/bootstrap');

require('./backoffice/main.js');

var app = new Vue({
    mixins: [require('spark')]
});

view.blade.php

<div id="example">
    <my-component></my-component>
</div>

gulpfile.js

elixir(function(mix) {
    mix.less('app.less')
       .browserify('app.js', null, null, { paths: 'vendor/laravel/spark/resources/assets/js' })
       .copy('node_modules/sweetalert/dist/sweetalert.min.js', 'public/js/sweetalert.min.js')
       .copy('node_modules/sweetalert/dist/sweetalert.css', 'public/css/sweetalert.css');
});

我的错误

app.js:24638[Vue warn]: Unknown custom element: <my-component> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

1 个答案:

答案 0 :(得分:1)

由于example.js是一个单独的模块,因此您还需要在该文件中导入Vue。我猜你已经做到了。您也不希望在new中添加该文件中的Vue实例,因为您之后就已经这样做了。如果<my-component>位于火花体内部,则表示您已经运行了Vue应用程序。