前言

使用方式

  1. 使用在线cdn
  2. 下载js文件并自托管,引入到项目后使用
  3. 使用npm安装后,用cli来构建项目

声明式渲染

  • Vue2需引入vue.min.js
{{msg}}  // Mustache 语法

var vm = new Vue({ // 实例化vue,在实例中渲染
data: {
msg: '文本'
}
})
  • Vue3不需要实例化vue,需引入vue.global.js (在 unpkgjsDelivr 上获取)
{{msg}}

const Counter = {   //声明一个常量接收返回的数据
data() {
return {
msg: '文本'
}
}
}
Vue.createApp(Counter).mount('dom节点') // 创建vue应用并挂载

事件绑定

v-on:click='方法名'

Vue.createApp({
methods: {
方法名() {
//具体实现
}
}
}).mount("dom节点")
  • 双向绑定
{{msg}}
v-model="msg" Vue.createApp({
data() {
return {
msg: '文本'
}
}
}).mount("dom节点")

条件循环

  • v-if
v-if='键名'

Vue.createApp({
data() {
return {
键名: true //逻辑为真
}
}
}).mount("dom节点")
  • v-for
v-for="对象名 in 数组名"
{{对象名.属性名}} Vue.createApp({
data() {
return {
数组名: [
{},{},{} //多个对象
]
}
}
}).mount("dom节点")

组件

  • 注册新组件
<todo-item></todo-item>

// 创建 Vue 应用
const app = Vue.createApp({ }) // 定义名为 todo-item 的新组件
app.component('todo-item', {
template: `自定义模板`
}) // 挂载 Vue 应用
app.mount('dom节点')
  • 组件实例

    createApp方法创建一个应用实例,该实例提供一个应用上下文,该方法返回的是实例本身;mount方法返回的是一个根组件实例,一个代理对象

该实例的常用方法包括:
component //用于注册或检索全局组件
config //包含应用配置的对象
directive //用于注册或检索全局指令
mount //将所提供的dom节点替换成应用根组件的模板渲染结果
use 在一个vue应用中data方法就是一个组件实例(property)
  • 生命周期钩子

    写在vue应用中,不能使用箭头函数来定义生命周期方法
常用生命周期方法,让我们在实例的不同阶段执行自己的操作:
beforeCreate // 在实例初始化之后
created // 在实例创建完成后被立即调用
beforeMount // 在实例被挂载之前调用
mounted // 在实例被挂载后调用
beforeUpdate // 数据更新导致dom节点重新渲染之前
updated // 数据更改导致dom节点重新渲染时

模板语法

  • 插值
{{}}     // 使用该方式进行数据绑定
v-once // 使用该指令使数据只进行一次绑定 #c2{
// css
}
v-bind:id = 'c1' // 视图部分
data(){ // 脚本部分
return{
c1 : 'c2'
}
}
<div v-html = 'data'></div>    // 视图部分,绑定html标签
data(){ // 脚本部分
data : 'html标签'
}

脚本部分methods对象中写方法时,尽量避免使用箭头函数;

Vue 自动为 methods 绑定 this对象,使用箭头函数时则会指向window对象,这时就不能使用this.$data.属性

最新文章

  1. UI控件(UIPickerView)
  2. XE3随笔21:系统默认语言与系统支持的语言列表
  3. Linux 多线程互斥量互斥
  4. 解决nf_conntrack: table full, dropping packet问题
  5. 卫星地图下载软件WebImageDowns
  6. Unity3D使用小技巧
  7. PTPX中的time_based analysis
  8. 清除Cookie、获取指定Cookie的值、添加一个Cookie(24小时过期)、添加一个Cookie
  9. poj2482 Stars in Your Window
  10. codeforces 675B B. Restoring Painting(暴力枚举)
  11. 九度OJ 1532 棋盘寻宝扩展 -- 动态规划【背包问题】
  12. QQ原创表情添加
  13. JSP错题纠错
  14. Protel99 SE快捷键大全
  15. egret dragonbones部件替换产生位移的解决方案
  16. post上传和压缩、插件模拟请求
  17. Java知多少(上)
  18. hadoop-3
  19. 【C/C++】深入理解指针和数组的关系
  20. 启动vue项目,npm run dev服务起不来报错Error: listen EACCES 0.0.0.0:8080

热门文章

  1. Leetcode:1305. 两棵二叉搜索树中的所有元素
  2. 【洛谷P1140 相似基因】动态规划
  3. python程序开机自启动
  4. 基于小熊派Hi3861鸿蒙开发的IoT物联网学习【二】
  5. sessionfilter中的拦截项判断
  6. &lt;题解&gt;[SDOI2017]硬币游戏
  7. solr(CVE-2020-13957)文件上传
  8. 对抗防御之对抗样本检测(一):Feature Squeezing
  9. python爬虫:了解JS加密爬取网易云音乐
  10. Python对系统数据进行采集监控——psutil