首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >..Vue文件:将结构从“template:”迁移到<template></template>

..Vue文件:将结构从“template:”迁移到<template></template>
EN

Stack Overflow用户
提问于 2019-10-02 13:07:16
回答 2查看 39关注 0票数 0

我试图从工作版本中更改.vue文件的结构(与laravel一起使用),如下所示:

旧foo-component.vue:

代码语言:javascript
复制
<script>
    Vue.component("foo-component", {
      data() {
      },

      props: {
      },

      methods: {
        },
      template: `
            <div> Some Content Here </div>
            `
    });
</script>

将此转换为.vue文件的其他结构:

NEW: foo-component.vue:

代码语言:javascript
复制
<template>
        <div> Some Content Here </div>
    </template>

    <script>
        export default {
          name: 'foo-component',
          data() {
          },

          props: {
          },

          methods: {

          },
        }
    </script>

:main app.js:

代码语言:javascript
复制
Vue.component('foo-component', require('./components/foo-component.vue').default);

    const app = new Vue({
        el: '#app',
        components: {
            OtherComponents
                },
        data:{
        },
        methods: {
        }
    });

NEW: main app.js:

代码语言:javascript
复制
Vue.component('foo-component', require('./components/foo-component.vue').default);

    const app = new Vue({
        el: '#app',
        components: {
            OtherComponents
                },
        data:{
        },
        methods: {
        }
    }); 

但是我在浏览器中看到一个错误,上面写着:

代码语言:javascript
复制
[Vue warn]: Unknown custom element: <foo-component> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

然后,我在组件中添加了“foo-component”:{OtherComponents,OtherComponents},但是事情变得很混乱,浏览器说:

代码语言:javascript
复制
Error: Module build failed: SyntaxError: X:/laragon/www/project/resources/assets/js/app.js: Unexpected token, expected , (38:35)

我做错了什么?

下面是我在Laravel刀片home.blade.php中调用foo组件的HTML/View:

代码语言:javascript
复制
<html>
<head>
<link type="text/css" rel="stylesheet" href="{{ mix('css/app.css') }}">
</head>

<body>
    <div id="app">
            <foo-component></foo-component>
    </div>
    <script src="{{ mix('/js/app.js') }}"></script>
</body>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-02 14:42:22

我使它工作的方式是对app.js的更新:

代码语言:javascript
复制
Vue.component('foo-component', require('./components/foo-component.vue').default);

import FooComponent from './components/foo-component.vue';

const app = new Vue({
    el: '#app',
    components: {
        OtherComponents,
        'foo-component': FooComponent
            },
    data:{
    },
    methods: {
    }
}); 
票数 0
EN

Stack Overflow用户

发布于 2019-10-02 13:37:22

您必须在app.js中注册您的组件

代码语言:javascript
复制
Vue.component('example-component', require('./components/ExampleComponent.vue').default);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58202181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档