在Vue 2中,可以创建不带组件的react 实例,如下所示:

var vue = new Vue({
    el: '#root',
    data: { /*... */ },
    methods: { /* ... */ }
})

事实上,这是Vue 2文档开始时的基本使用模式.

我认为这是向现有DOM元素添加react 性的一种非常优雅的方式,并且创建的实例很容易通过编程进行操作.Vue 3也有类似的版本吗?

推荐答案

使用CDN

// CDN Vue Import
const { createApp, ref } = Vue

const app = createApp({
  setup() {
    const msg = ref("hello world")
    
    return { msg }
  },
}).mount('#app')
<script src="https://unpkg.com/vue@3.3.4/dist/vue.global.prod.js"></script>

<div id="app">
   <div>{{ msg }}</div>
   <input v-model="msg" />
</div>

使用CDN (with template)

// CDN Vue Import
const { createApp, ref } = Vue

const app = createApp({
  setup() {
    const msg = ref("hello world")

    return { msg }
  },
  template: `
    <div>{{ msg }}</div>
    <input v-model="msg" />
  `
}).mount('#app')
<script src="https://unpkg.com/vue@3.3.4/dist/vue.global.prod.js"></script>

<div id="app"></div>

使用CLI

Steps

1. Install packages by npm
2. Create your app
3. Make "production" code (skip if it's need same project)
4. Use your vue app (implement another project or use in same project)

Example

import { createApp, ref } from 'vue'

const app = createApp({
  setup() {
    const msg = ref("hello world")

    return { msg }
  },
  template: `
    <div>{{ msg }}</div>
    <input v-model="msg" />
  `
}).mount('#app')
<div id="app"></div>

更多信息

In-DOM Root Component Template-ws.Docs

Multiple application instances-ws.Docs

Vue.js相关问答推荐

如何将$validator实例注入到使用组合API语法的Vue2.7应用程序中

如何在 Vuetify 2 中的轮播项目上放置 href 属性?

vue 不重新渲染数据更改

Vue 脚本标签中更漂亮的 destruct 功能

CssSyntaxError 使用 Webpack 4 构建未知单词

在 vuejs 中显示两个组件,但只显示一个,为什么?

一个 div 组件中的 Vue.js 2.0 路由链接

Vuetify - 如何保持第一个扩展面板默认打开,如果我打开另一个面板,其他面板应该关闭?

如何根据生产或开发模式读取不同的 .env 文件?

Nuxt & Vuetify:如何控制 CSS 文件的加载顺序?

如何在 vue 3 脚本设置中的组件上使用 v-model

vuex: unknown getter: user

Vue 和 TypeScript 所需的props

Angular 5 中的 功能

如何使用 vue.js 获取所选选项的索引

带有子菜单的 Vuetify 导航抽屉

Select 下拉列表中的复选框后如何清除 v-autocomplete(多个)搜索输入?

使用 Vue-cli,我在哪里声明我的全局变量?

使用 refs 聚焦元素目标

Vue Router beforeRouteLeave 不会停止子组件