首页 > 其他分享 >Vue 3起手式:createApp 函数

Vue 3起手式:createApp 函数

时间:2023-07-19 22:23:37浏览次数:42  
标签:Vue createApp 起手式 formData selected vue ov

Vue 3 真有意思。

用 Vue 3 做了几个简单的 Web 页面了,本文 展示其 createApp 函数 的一些使用。

 

createApp 函数
官文:
https://cn.vuejs.org/api/application.html

function createApp(rootComponent: Component, rootProps?: object): App

第一个参数是根组件。第二个参数可选,它是要传递给根组件的 props。

 

菜鸟教程(感谢!强烈推荐!)

Vue3 教程

https://www.runoob.com/vue3/vue3-tutorial.html

 

下面使用 Vue 3(下载的 vue_3.2.36_vue.global.min.js)开发的一个页面,展示了 createApp 函数 的 rootComponent 参数 下自己用过的 元素:

data() 函数、mounted() 函数、methods 属性、watch 属性

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试Vue-0719</title>
<script src="js/vue_3.2.36_vue.global.min.js"></script>
</head>
<body>
<div id="root">
	<label>{{ formData.selected }}</label><br>
	<label>{{ p1 }}</label><br>
	<label>{{ arr }}</label><br>
	<p>v-for 指令(1)</p>
	<div v-for="item in arr">{{ item }}</div>
	<p>v-for 指令(2)</p>
	<select v-model="formData.selected">
		<option v-for="(item,index) in arr" :value="index">
			{{ item }}
		</option>
	</select>
</div>

<script>
const root = {
  data() {
    return {
      formData: {
        selected: '0'
      },
      p1: '123',
      arr: ['a', 'b'],
    };
  },
  mounted() {
	console.log("in mounted()...");
    this.funcA();
    this.funcB('input param1');
  },
  methods: {
    funcA() {
		console.log("in funcA...");
	},
    funcB(param1) {
		console.log("in funcB...param1=" + param1);
	},
  },
  watch: {
    // 多级使用 单引号包裹
    'formData.selected':  function(nv, ov) {
		// 处理
		console.log("nv=" + nv + ", ov=" + ov + ", this.formData.selected=" + this.formData.selected);
    },
    // nv 新值,ov 旧值
    p1: function(nv, ov) {
		// 处理
    },
  }
}

const app = Vue.createApp(root);

app.mount("#root");
</script>
</body>
</html>

 

测试结果:

 

vue_3.2.36_vue.global.min.js 下载地址:

https://unpkg.com/browse/[email protected]/dist/

注意,奇怪,没有 *.min.js 了,大家可以下载 vue.global.prod.js。

--

 

---END---

 

本文链接:

https://www.cnblogs.com/luo630/p/17566926.html

 

感谢 菜鸟教程!

 

ben发布于博客园

标签:Vue,createApp,起手式,formData,selected,vue,ov
From: https://www.cnblogs.com/luo630/p/17566926.html

相关文章

  • vue基本操作[2] 续更----让世界感知你的存在
    Vue文件解析什么是<template/>标签template是html5新元素,主要用于保存客户端中的内容,表现为浏览器解析该内容但不渲染出来,可以将一个模板视为正在被存储以供随后在文档中使用的一个内容片段。关于单文件组件vue的单文件相当于一个页面中的组件,包含了关于该组件的html-css-js文......
  • vue项目安装lees-loader报错:Module build failed: Error: Cannot find module 'less'
    1-新搭建的一个项目,运行时报Modulebuildfailed:Error:Cannotfindmodule'less'错误原因:vue文件里面的style添加了 lang="less" 解决方案:安装less  npminstallless2-安装less后运行报错:Modulebuildfailed:TypeError:this.getOptionsisnotafunc......
  • 使用vuex实现任意组件间通信
    title:使用vuex实现任意组件间通信date:2023-07-1915:51:54tags:-vuecategories:-工程-前端top:使用vuex实现任意组件间通信学习vue的第五天,学到了用插件vuex来实现vue任意组件之间的通信。以下是个人理解,如有错误请指正。vuex描述Vuex是一个专为Vue.js应......
  • vue+element-ui 点击表格某一行,展开内容
    正常情况下,表格中想要展开某一行只能通过点击最前面的小箭头,如果想要实现点击某一行后直接展开,那么首先,就要先了解这几个属性:row-key的值只能是表格中某一列的key,而expand-row-keys数组里保存的则是所有展开行的row-key值,假如设置row-key=“id”,那么expand-row-keys数组......
  • ant design vue描述列表设置列宽
    这是默认的样子,没有数据时会显得label特别宽设置列宽为200px后如图所示方式如下自定义style.label.ant-descriptions-item-label{width:200px;}给descriptions应用样式<a-descriptionsid="jbxx"class="label"title="基本信息"bordered><a-descripti......
  • vue3,ts,vite4,uniapp设置路径别名
    安装依赖npminstall--save-dev@types/node配置vite.config.ts文件//vite.config.tsimport{defineConfig}from'vite';import{resolve}from'path';exportdefaultdefineConfig({resolve:{alias:{'/@/':resolve(......
  • vue-element-admin改为从后台拿动态路由
    改为从后台拿动态路由,大概如下步骤:1、后台增加接口,返回动态路由数据2、前端增加请求动态路由接口请求3、修改src/route/index.js去掉原有的动态路由,增加组件名和组件对象映射map4、修改src/store/modules/permission.js修改当前权限判断处理方法 generateRoutes一、后......
  • [未解决] vue transform-blocks解析源代码报错:Illegal tag name. Use '<' to print '<
    报错内容:[vite]Internalservererror:Illegaltagname.Use'<'toprint'<'.用的是这篇博文的源代码展示方法:如何用vite的vueCustomBlockTransforms(自定义块转换)实现源代码展示使用时突然遇到某一个vue文件添加<demo></demo>标签后报错,但其他vue文件可以正常读取和展示......
  • 54.使用VUE3+VITE+TYPESCRIPT+element-plus的setup语法糖,实现导出excel功能
    要实现导出Excel功能,你可以使用以下步骤:1.安装相关依赖:```bashnpminstallxlsxfile-saver```2.在你的组件中引入相关依赖:```javascriptimport{ref}from'vue';import{saveAs}from'file-saver';import{useTable}from'element-plus';importXLSX......
  • vue-pdf组件打印文字全是空白框
    参考:https://www.yii666.com/blog/34226.htmlgithub地址:https://github.com/FranckFreiburger/vue-pdf/pull/130/commits/253f6186ff0676abf9277786087dda8d95dd8ea7#diff-537fb76c67921bef8ccf535dad221c0c875ae6d1077a6b16f055440d32b5421f ......