目录
- 初识vue
 - 模板语法
 - 插值语法
 - 指令语法
 - 数据绑定
 - 单向绑定
 - 双向绑定
 - el和data的两种写法
 - el
 - data
 - Object.defineProperty方法
 - 事件处理
 - 事件修饰符
 - 键盘事件
 - 定义命名(不常用)
 
初识vue
vue工作时,必须先创建Vue实例,且要传入一个配置对象
容器内的代码依然符合html规范,混入了一些特殊的Vue语法
 <div id="root">
        <h1>hello,{{name}}</h1>
  </div>
// 创建一个实例
        new Vue({
            el:'#root',//el用于指定当前vue实例为那个容器使用,值通常为css选择器字符串
            data:{ //data中用于存储数据,数据供el所指定的容器使用
                name:'尚硅谷'
            }
        })
- Vue实例和容器是一一对应关系
 - {{xxx}}中的xxx要写js表达式,xxx可以自动读取到data中的所有属性
 - data数据一旦发生变化,模板中用到数据的地方也会发生变化
 
模板语法
插值语法
{{xxx}},常写在标签体内

指令语法
- 用于解析标签(包括:标签属性、标签体内容、绑定事件…)
 - 形式均为v-xxx,如:v-bind
 
<div id="root">
      <!-- 指令语法 -->
    	<a :href="https://www.freexyz.cn/dev/url.toUpperCase()" rel="external nofollow" ></a>//js表达式执行
        <a v-bind:href="https://www.freexyz.cn/dev/url" rel="external nofollow"  rel="external nofollow" >百度</a>
        <a :href="https://www.freexyz.cn/dev/url" rel="external nofollow"  rel="external nofollow" >简写,百度</a>
    //使用v-bind指令后,href中的url即为js表达式,此处即为	http://baidu.com
    //v-bind指令可以简写为 :
    </div>
    <script type="text/javascript">
          Vue.config.productionTip = false//防止在vue启动时产生提示
        new Vue({
            el:'#root',
            data:{
                name:'三万小',
                url:'http://baidu.com',
            }
        })
    </script>
数据绑定
单向绑定
v-bind:
- 数据只能从data流向页面(页面数据改变时,data不改变;data改变页面也改变)
 - v-bind指令可以简写为 
: 
双向绑定
v-model:
- data数据改变页面数据也改变,修改页面数据也可改变data
 - 一般应用于表单类元素上(即有value的,如input select等)
 - v-model:value可简写为 v-model=‘xxx’
 

el和data的两种写法
el
- new Vue时配置el属性
 - 先创建vue实例,通过v.$mount(‘#root’)指定el的值
 

data
- 对象式
 - 函数式(学习组件时必须使用函数式写法)
 - 写函数式时,必须要return返回对象
 
注:Vue管理的函数,不能写箭头函数,否则this指向不为Vue实例

Object.defineProperty方法
- 定义新属性或修改原有属性
 - Object.defineProperty(obj,props,descriptor)
 - 返回值是 传入函数的对象
 
       let person = {
            name:'张三',
            sex:"男"
        }
        // Object.defineProperty(对象名,需添加的属性名,方法属性)
        Object.defineProperty(person,'age',{
            value:'18',//给person添加age:'18'
            // enumerable:true,//控制属性是否可以枚举(遍历),默认值为false
            // writable:true,//控制属性是否可以被修改,默认值为false
            // configurable:true,//控制属性是否可以被删除,默认值为属性
		}

getter函数实现了,读取age时实际读取的是number
setter函数实现了,修改age时,将age值给了number
	声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
		
评论(0)