Vue.js 如何将参数从vue自定义元素传递到vue组件?

Vue.js 如何将参数从vue自定义元素传递到vue组件?,vue.js,custom-element,Vue.js,Custom Element,我没有一个完整的vue应用程序,所以我用它来替换一些应该用vue处理的元素 我只想在html文件中使用 因此,我尝试了以下方法: 索引 test.html test.vue const Multiselect=require('vue-Multiselect')。默认值 导出默认值{ 组件:{Multiselect}, 数据(){ 返回{ 值:“测试”, 选项:[‘列表’、‘选项’中的选项] } }, 方法:{ 获取数据(查询){ 控制台日志(123) } } } 在输出中,始终忽略自定

我没有一个完整的vue应用程序,所以我用它来替换一些应该用vue处理的元素

我只想在html文件中使用

因此,我尝试了以下方法:

索引

test.html


test.vue


const Multiselect=require('vue-Multiselect')。默认值
导出默认值{
组件:{Multiselect},
数据(){
返回{
值:“测试”,
选项:[‘列表’、‘选项’中的选项]
}
},
方法:{
获取数据(查询){
控制台日志(123)
}
}
}
在输出中,始终忽略自定义元素的数据,并且仅使用.vue文件中零件中的参数


如何从自定义元素中使用占位符或@search change等参数?

我还在我的一个项目中使用vue自定义元素

您正在将选项作为道具传递,因此需要将其作为道具添加到autocomplete.vue中

<template>
    <multiselect v-model="value" :options="options" @search-change="getData"></multiselect>
</template>

<script type="ts">
    const Multiselect = require('vue-multiselect').default

    export default {
        props: ['options'],
        components: { Multiselect },
        data () {
            return {
                value: 'test'
            }
        },
        methods: {
            getData (query) {
                console.log('123')
            }
        }
    }
</script>

<style src="vue-multiselect/dist/vue-multiselect.min.css"></style>

const Multiselect=require('vue-Multiselect')。默认值
导出默认值{
道具:[“选项”],
组件:{Multiselect},
数据(){
返回{
值:“测试”
}
},
方法:{
获取数据(查询){
console.log('123'))
}
}
}
请记住,
:options=“options”
@search change
在常规HTML中不起作用,因为这是特定于Vue的解决方案。
<auto-complete
        v-model="value"
        :options="options"
        placeholder="test"
        @search-change="getData"
>
</auto-complete>
<template>
    <multiselect v-model="value" :options="options" @search-change="getData"></multiselect>
</template>

<script type="ts">
    const Multiselect = require('vue-multiselect').default

    export default {
        components: { Multiselect },
        data () {
            return {
                value: 'test',
                options: ['list', 'of', 'options']
            }
        },
        methods: {
            getData (query) {
                console.log(123)
            }
        }
    }
</script>

<style src="vue-multiselect/dist/vue-multiselect.min.css"></style>
<template>
    <multiselect v-model="value" :options="options" @search-change="getData"></multiselect>
</template>

<script type="ts">
    const Multiselect = require('vue-multiselect').default

    export default {
        props: ['options'],
        components: { Multiselect },
        data () {
            return {
                value: 'test'
            }
        },
        methods: {
            getData (query) {
                console.log('123')
            }
        }
    }
</script>

<style src="vue-multiselect/dist/vue-multiselect.min.css"></style>