Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

createElement v-model 不能传入 #9689

Closed
xuanjinliang opened this Issue Mar 13, 2019 · 4 comments

Comments

Projects
None yet
3 participants
@xuanjinliang
Copy link

xuanjinliang commented Mar 13, 2019

vue:

2.5.21

创建一个组件 test.vue

<template>
  <div>{{value}}</div>
</template>

<script>
  export default {
    name: 'test',
    props: ['value'],
    data () {
      return {}
    },
    model: {
      prop: 'value',
      event: 'update'
    },
    methods: {},
    watch: {
      value: function value(val, oldVal) {
        console.log(val, oldVal)
      }
    }
  }
</script>

引入组件test.vue:

<script>
  import Vue from 'vue'
  import test from './test'

  export default {
    name: 'SelectTest',
    props: {
      value: String
    },
    data () {
      return {
        show: false,
        toastTpl: null
      }
    },
    model: {
      prop: 'value', 
      event: 'update'
    },
    // components: { xgoText },
    mounted: function(){
      const that = this
      const popupTpl = Vue.extend({
        render: function (createElement) {
          return createElement( test, {
            directives: [{
              name: 'model',
              rawName: "v-model",
              value: that.show.toString(),
            }]
          }, '')
        }
      });

      this.popupTpl = new popupTpl().$mount().$el
      document.body.appendChild(this.popupTpl);
    },
    methods: {
      showPopup () {
        this.show = !this.show
      }
    }
  }
</script>

v-model的值不能输传text.vue这个组件内

@vue-bot

This comment has been minimized.

Copy link
Contributor

vue-bot commented Mar 13, 2019

Hello, your issue has been closed because it does not conform to our issue requirements. In order to ensure every issue provides the necessary information for us to investigate, we require the use of the Issue Helper when creating new issues. Thank you!


你好,你的 issue 不符合我们所要求的格式,因此已被自动关闭。为了确保每个 issue 都提供必需的相关信息,请务必使用我们的 Issue 向导 来创建新 issue,谢谢!

@vue-bot vue-bot closed this Mar 13, 2019

@Justineo

This comment has been minimized.

@xuanjinliang

This comment has been minimized.

Copy link
Author

xuanjinliang commented Mar 13, 2019

See https://vuejs.org/v2/guide/render-function.html#v-model.

这个例子跟我的例子不一样,我是想用v-model的值传入组件中

@xuanjinliang

This comment has been minimized.

Copy link
Author

xuanjinliang commented Mar 13, 2019

已解决
return createElement( test, {
props: {
value: that.show
},
}, '')

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.