初识Vue代码
初识vue
hello, {
{name.toUpperCase()}}, {
{address}}
英文官网: https://vuejs.org/
中文官网: https://cn.vuejs.org/
动态构建用户界面的渐进式 JavaScript 框架
作者: 尤雨溪
遵循 MVVM 模式
编码简洁, 体积小, 运行效率高, 适合移动/PC 端开发
它本身只关注 UI, 也可以引入其它第三方库开发项目
借鉴 Angular 的模板和数据绑定技术
借鉴 React 的组件化和虚拟 DOM 技术
vue-cli: vue 脚手架
vue-resource
axios
vue-router: 路由
vuex: 状态管理
element-ui: 基于 vue 的 UI 组件库(PC 端)
……
1.插值语法:
2.指令语法:
模板语法代码
模板语法
html 中包含了一些 JS 语法代码,语法分为两种,分别为:
功能: 用于解析标签体内容
语法: { {xxx}} ,xxxx 会作为 js 表达式解析
功能: 解析标签属性、解析标签体内容、绑定事件
举例:v-bind:href = ‘xxxx’ ,xxxx 会作为 js 表达式被解析
说明:Vue 中有有很多的指令,此处只是用 v-bind 举个例子
1.单向绑定(v-bind):数据只能从data流向页面。
2.双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data。
备注:
1.双向绑定一般都应用在表单类元素上(如:input、select等)
2.v-model:value 可以简写为 v-model,因为v-model默认收集的就是value值。
数据绑定代码
数据绑定
单向数据绑定:
双向数据绑定:
语法:v-bind:href =“xxx” 或简写为 :href
特点:数据只能从 data 流向页面
语法:v-mode:value=“xxx” 或简写为 v-model=“xxx”
特点:数据不仅能从 data 流向页面,还能从页面流向 data
data与el的2种写法
1.el有2种写法
(1).new Vue时候配置el属性。
(2).先创建Vue实例,随后再通过vm.$mount(‘#root’)指定el的值。
2.data有2种写法
(1).对象式
(2).函数式
如何选择:目前哪种写法都可以,以后学习到组件时,data必须使用函数式,否则会报错。
3.一个重要的原则:
由Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue实例了,而是指向全局的window。
4.el和data的两种写法
你好,{
{name}}
MVVM模型
观察发现:
vue中的MVVM
学校名称:{
{name}}
学校地址:{
{address}}
回顾object.defineProperty方法
Document
1.Vue中的数据代理:
2.Vue中数据代理的好处:
3.基本原理:
通过Object.defineProperty()把data对象中所有属性添加到vm上。
为每一个添加到vm上的属性,都指定一个getter/setter。
在getter/setter内部去操作(读/写)data中对应的属性。
Document
学校名称:{
{name}}
学校地址:{
{address}}
事件的基本使用:
1.使用v-on:xxx 或 @xxx 绑定事件,其中xxx是事件名;
2.事件的回调需要配置在methods对象中,最终会在vm上;
3.methods中配置的函数,不要用箭头函数!否则this就不是vm了;
4.methods中配置的函数,都是被Vue所管理的函数,this的指向是vm 或 组件实例对象;
5.@click=“demo” 和 @click=“demo($event)” 效果一致(都可以传递event),但后者可以传参;
Document
欢迎来到{
{name}}学习
Vue中的事件修饰符:
1.prevent:阻止默认事件(常用);
2.stop:阻止事件冒泡(常用);
3.once:事件只触发一次(常用);
4.capture:使用事件的捕获模式(事件发生的顺序是先捕获后冒泡);
5.self:只有event.target是当前操作的元素时才触发事件;
6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕;
Document