我正在使用Vue js学习Visual Studio 2017。我正在尝试使用几个按钮来构建应用程序。单击特定按钮时,我想显示该消息。但是当我遵守这段代码时,我得到以下错误。


  严重性代码说明项目文件行抑制状态
  警告TS1005(JS)':'。 VuejsApp JavaScript内容文件C:\ Users \ Khundokar Nirjor \ Documents \ Visual Studio 2017 \ Projects \ VuejsApp \ VuejsApp \ src \ App.vue 21有效


这是我的App.vue代码:

<template>
    <div id="databinding">
        <div id="counter-event-example">
            <p style="font-size:25px;">Language displayed : <b>{{ languageclicked }}</b></p>
            <button-counter v-for="(item, index) in languages"
                            v-bind:item="item"
                            v-bind:index="index"
                            v-on:showlanguage="languagedisp"></button-counter>
        </div>
    </div>
</template>

<script>

    import Vue from 'vue';
    export default {
        name: 'app',
        components: {

        },
        Vue.component('button-counter', {// error on this line

            template: '<button v-on:click = "displayLanguage(item)"><span style = "font-size:25px;">{{ item }}</span></button>',
            data: function () {
                return {
                    counter: 0
                }
            },
            props: ['item'],
            methods: {
                displayLanguage: function (lng) {
                    console.log(lng);
                    this.$emit('showlanguage', lng);
                }
            },
        })


      var vm= new Vue({// error on this line
            el: '#databinding',
            data: {
                languageclicked: "",
                languages: ["Java", "PHP", "C++", "C", "Javascript", "C#", "Python", "HTML"]
            },
            methods: {
                languagedisp: function (a) {
                    this.languageclicked = a;
                }
            }
        })



    }

</script>

<style>
</style>

最佳答案

这里的问题是因为代码在对象内部。
如果将button-counter内部的components: { }组件移到其上方,
和对象外部的vm部分,应该可以解决此问题。

09-07 08:54