Vue核心(一)

Vue核心(一)

一、初始Vue

1、想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象

2、app容器里的代码依然符合html规范,只不过混入了一些特殊的vue语法

3、app容器里面的代码被称为Vue模板

4、vue实例和容器是 一 一对应的

5、 真实开发中只有一个vue实例,并且会配合着组件一起使用

6、{{xxx}}中的xxx要写成js表达式,且xxx可以自动读取到data中的所有属性

7、一旦data中的数据发生改变,那么模板中用到该数据的地方也会自动更新(响应式数据)

注意区分: js表达式和js代码

1、表达式: 一个表达式会生成一个值,可以放在任何一个需要值的地方

javascript 复制代码
(1) a
(2)a + b
(3)demo(1)
(4)x === y ?'a' : 'b'

2、js代码

javascript 复制代码
(1)if() {}
(2)for() {}

二、模板语法

2.1 插值语法

功能: 用于解析标签体内容

语法: {{xxx}} xxx是js表达式,且可以直接读取到data中的所有属性

2.2 指令语法

功能: 用于解析标签(包括标签属性、标签体内容、绑定事件等等)

举例: v-bind:href="xxx" / :key="xxx" xxx同样要写js表达式,且可以直接读取到data中的所有属性

备注: vue中有很多的指令,且形式都是v-xxx(例如v-bind、v-if、v-model、v-on等等)

三、数据绑定

特点:

1、单向绑定(v-bind): 数据只能从data流向页面

2、双向绑定(v-model): 数据不仅能从data流向页面,还可以从页面流向data

注意:

a, 双向绑定一般都应用在表单元素上(例如input、select等)

b, v-model:value 可以简写为v-model, 因为v-model默认收集的就是value值

四、data与el的两种写法

· el的两种写法

(1)new Vue时配置el属性

(2)先创建Vue实例,随后再通过vm.$mount("#xxx")指定el的值

· data的两种写法

(1)对象式

(2)函数式(在组件中必须使用函数式)

· 一个重要原则:

由Vue管理的函数, 一定不要写箭头函数,一旦写了箭头函数,this就不再是Veu实例,而是window(全局对象)

五、MVVM模型

定义: M(model-模型):对应data中的数据; v(view-视图): 模板; VM(vm-ViewModel):Vue实例对象

特点:

a, data中所有的属性,最后都出现在vm身上

b, vm身上所有的属性及Vue原型上的所有属性,在Vue模板中都可以直接使用

相关推荐
Henry-SAP8 小时前
SAP PP中的核心业务流程——离散制造、重复制造、流程制造三大模式解析
前端·数据库·人工智能·制造
徐小夕8 小时前
下载量超 30 万的开源智能体 Prime Agent:它把自己从 TypeScript 重写成了 Rust
前端·vue.js·github
Zhao-Jichao8 小时前
AI Prompting for Everyone 课程笔记 - P20 实验与期末项目 Lab and Final Project
前端·人工智能·笔记
Moment9 小时前
为什么这么多 Agent Harness 都选择 TypeScript
前端·后端·面试
toooooop89 小时前
CRMEB 故障排查笔记:安全网关只放行 GET/POST 怎么办
前端·javascript·vue.js·thinkphp6·crmeb
软件技术NINI9 小时前
基于SpringBoot和Vue的项目评审系统
javascript·vue.js·spring boot·后端·spring·毕业设计·毕设
涛涛ing9 小时前
我现在最怕的不是 AI 写不出代码,是它写得太快,快到我不好意思说“等一下”
前端
AllData公司负责人9 小时前
【产品便捷使用一】AIIData 数据中台:企业基础版核心能力支持,一站式全链路数据处理实操指南
大数据·前端·数据治理·数据可视化·数据开发·数据服务·数据接入
vipxieliang9 小时前
JavaScript 模板字符串与标签模板:不只是拼接
前端·javascript
恋猫de小郭10 小时前
Flutter 开始支持 Jetpack Compose Platform View
android·前端·flutter