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

vue 3.3.5+ in compat mode throws errors #7181

Open
kalekseev opened this issue Nov 2, 2023 · 1 comment
Open

vue 3.3.5+ in compat mode throws errors #7181

kalekseev opened this issue Nov 2, 2023 · 1 comment

Comments

@kalekseev
Copy link

@VividLemon is it possible to create one more release to continue support vue3 in compat mode?

Describe the bug

In this pr "_assign" key was changed to Symbol("_assign") vuejs/core#8681
As a result this code doesn't work anymore:

bootstrap-vue/src/vue.js

Lines 37 to 48 in 5173dd1

Vue.vModelDynamic.created = function(el, binding, vnode) {
originalVModelDynamicCreated.call(this, el, binding, vnode)
if (!el._assign) {
el._assign = () => {}
}
}
Vue.vModelDynamic.beforeUpdate = function(el, binding, vnode) {
originalVModelDynamicBeforeUpdate.call(this, el, binding, vnode)
if (!el._assign) {
el._assign = () => {}
}
}

Possible solution

  let assignSymbol;

  // See https://github.com/vuejs/vue-next/pull/4121 for details
  Vue.vModelDynamic.created = function(el, binding, vnode) {
    originalVModelDynamicCreated.call(this, el, binding, vnode)
    if(!assignSymbol) {
      assignSymbol = Object.getOwnPropertySymbols(el).find(s => s.description === '_assign');
    }
    if (!el[assignSymbol]) {
      el[assignSymbol] = function () {};
    }
  }
  Vue.vModelDynamic.beforeUpdate = function(el, binding, vnode) {
    originalVModelDynamicBeforeUpdate.call(this, el, binding, vnode)
    if(!assignSymbol) {
      assignSymbol = Object.getOwnPropertySymbols(el).find(s => s.description === '_assign');
    }
    if (!el[assignSymbol]) {
      el[assignSymbol] = function () {};
    }
  }
@VividLemon
Copy link
Member

is it possible to create one more release to continue support vue3 in compat mode?

I don't know the process for creating a release. It could be as simple as its triggered and released to npm when a github release is created, but idk.

I'd personally like to stay away from making adjustments to the repository. Meaning that I don't want to dedicate time to implementing such a change. Perhaps I'd review a PR, but don't want to do it myself

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants