The checks to determine whether tags should be treated as custom elements are now performed during template compilation, and should be configured via compiler options instead of runtime config.
Vue 2
Vue.config.ignoredElements = ['plastic-button']
Vue 3
// using a build step (webpack config) rules: [ { test: /\.vue$/, use: 'vue-loader', options: { compilerOptions: { isCustomElement: tag => tag === 'plastic-button' } } } // ... ] // or using on-the-fly template compilation const app = Vue.createApp({}) app.config.compilerOptions.isCustomElement = tag => tag === 'plastic-button'
is attribute usage is restricted to the reserved <component> tag only.
Vue 2
<!-- SFC templates --> <foo is="bar" /> <!-- in-DOM templates --> <table> <tr is="blog-post-row"></tr> </table>
Vue 3
<!-- SFC templates --> <component is="bar" /> <!-- in-DOM templates --> <table> <tr is="vue:blog-post-row"></tr> </table>