小编Dar*_*ius的帖子

如何在 VueJS 中合并 2 个第三方组件

我正在使用表单标签组件bootstrap-vue框架。我想使用 带有表单标签的vue-simple-suggest组件(来自 npm)来建议与用户查询相关的单词。用户可以从建议中选择多个单词,所选单词将作为药丸保存在表单标签中,如下图所示。

在此处输入图片说明

我不知道如何将两个组件合并为一个组件(或更好的方式),以便我可以使用引导程序的 UI 功能和第三方模块的自动建议功能。

我正在学习VueJs,我不知道我应该学习什么来做到这一点?

这是我的代码:

<template>
  <div>
    <vue-simple-suggest
      v-model="chosen"
      mode="select"
      :list="simpleSuggestionsList"
      :filter-by-query="true"
      :destyled="false"
    >

      <b-form-tags 
        placeholder="Enter Keyword"
        size="lg"
        tag-variant="success"
        tag-pills
        remove-on-delete
        separator=","
        class="my-3"
        @input="updateValue"
      ></b-form-tags>

    </vue-simple-suggest>

  </div>
</template>

<script>
import VueSimpleSuggest from 'vue-simple-suggest'
import 'vue-simple-suggest/dist/styles.css'

export default {
  name: "SeedWordsSuggestions",

  data() {
    return {
      chosen: '',
      seedWords: []
    }
  },

  components: {
    VueSimpleSuggest
  },

  methods: {

    simpleSuggestionsList() {
      return [
        'Angular',
        'ReactJs',
        'VueJs'
      ]
    },

    addSelectedWord(e) {
      console.log(`addSelectedWord`, e) …
Run Code Online (Sandbox Code Playgroud)

vue.js vue-component vuejs2

5
推荐指数
1
解决办法
880
查看次数

Vue 观察器在创建同级属性时触发

我在使用 vue 观察者时遇到问题。

如何解释这种行为:创建test.a属性时触发观察者? test.b

vm = new Vue({
  data: {
    test: { a: {}, c: {} }
  }
})
vm.$watch('test.a', () => {console.log('> test.a changed')})
vm.$watch('test.b', () => {console.log('> test.b changed')})
vm.$watch(() => vm.test.c, () => {console.log('> test.c changed')}, {deep: true})

setTimeout(() => {
  console.log('creating: test.b')
  Vue.set(vm.test, 'b', {})
}, 10)

setTimeout(() => {
  console.log('changing: test.b')
  vm.test.b = 1
}, 20)
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

编辑:

在现实世界中,我使用深度观察者,但在普通观察者类型和深度观察者类型中都观察到了这种行为。

创建新属性会触发所有同级深度手表,并且在大多数情况下会触发普通手表。

vue.js

5
推荐指数
1
解决办法
107
查看次数

标签 统计

vue.js ×2

vue-component ×1

vuejs2 ×1