学习vue_01

vue 框架:

--构建虚拟的DOM结构,(内存内改变对象)- 操作数据的变化

框架介绍

	可以独立完成前后端分离式web项目的JavaScript框架

优点:
    三大主流框架之一:Angular React Vue
    先进的前端设计模式:MVVM
    可以完全脱离服务器端,以前端代码复用的方式渲染整个页面:组件化开发


特点:
    单页面web应用
    数据驱动
    数据的双向绑定
    虚拟DOM

使用vue框架:
	下载:https://cn.vuejs.org/v2/guide/installation.html
    	开发版本: 包含完整的警告和调试模式 (.js)
        生产版本: 删除了警告  (min.js)
        
    引入:
    <script src="https://cdn.jsdelivr.net/npm/vue"></script> 包含了有帮助的命令行警告  或
    
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>   优化了尺寸和速度
    
官网学习(api):
    https://cn.vuejs.org/v2/api/

基础格式

基本结构:

<script src="js/vue.js"></script>   // 导入vue 环境
<script>
    new Vue({
        el: "#app",     
        data: {
            showBtn: true  
        },
        methods: {       
            handleClick: function() {
                console.log("Clicked!");
            }
        }
    });
</script>

el :  指定dom标签容器的选择器
    Vue就会管理对应的标签及其子标 (body,html除外)
    
data: 对象或函数类型
    指定初始化状态属性数据的对象
    vm也会自动拥有data中所有属性
    页面中可以直接访问使用
    数据代理: 由vm对象来代理对data中所有属性的操作(读/写)
    
methods: 包含多个方法的对象
    供页面中的事件指令来绑定回调
    回调函数默认有event参数, 但也可以指定自己的参数
    所有的方法由vue对象来调用, 访问data中的属性直接使用		this.xxx

插值表达式:

-->能够为变量进行简单的运算,字符串方法。(一步能够运算出来)
vue变量:被称为插值表达式  {{ vue变量 }}

<div id="app">
    <p> {{ msg }}</p>
    <p> {{ num *10 }}</p>
    <p> {{ msg[1] }}</p>
    <p> {{ msg.split('') }}</p>
</div>

<script src="js/vue.js"></script>   
<script>    
	new Vue({
        el: '#app',
        
        data: {
            num: 10,
            msg: 'message'
        }

文本指令:

指令: 
	指令(Directives)是Vue模板中最常用的一项功能,它带有前缀v-,能帮我们快速完成DOM操作、循环渲染、显示影藏

{{ }} :将内部元素当成纯文本输出
v-text:解析文本,作用与{{}}一样  (原样输出)
v-html:解析html (能够解析html语法)
v-once: 处理的标签只能被解析一次


<body>
    <div id="app">
       
         <p>{{hello}}</p>
        <p v-text = 'hello'></p>
        <p v-html = 'hello'></p>
    </div>
</body>
<script src="vue.js"></script>
<script>
    new Vue({
        el:'#app',
        data:{
            hello:'<span>hello world</span>'
        }
    })
</script>


事件指令:

<!-- 完整语法 -->
<a v-on:click="xxxx">...</a>

<!-- 缩写 -->
<a @click="xxxx">...</a>

 v-on 指令添加一个事件监听器,通过它调用在 Vue 实例中定义的方法:
  v-on:事件名='变量名' 实例化Vue里面 methods关键字  为挂载点提供事件的 里面写你的:    变量名:function

<script>
    new Vue({
        el:'#app',
        data:{
            msg:'vue渲染的内容'
        },
        methods:{   //为挂载点提供事件的
            clickAction:function () {
                alert(123)
            }
        }
    })
</script>

属性指令:

<!-- 完整语法 -->
<a v-bind:href="url"></a>

<!-- 缩写 -->
<a :href="url"></a>

--元素节点的 style特性和 Vue 实例的 v_style 属性保持一致”

-动态更新HTML元素上的属性

小结:

1.vue通过 v- 指令来控制标签的属性

2.vue通过 变量 数据驱动页面(操作页面内容)

js 补充(面向对象):

js 函数:

   function f1() {
        console.log('f1 run');
    }	
    f1();

箭头函数:

	let f3 = () => {    // 没有参数
        console.log('f3 run');
    };
    f3();

    // 如果箭头函数有多个参数,有返回值
    let f4 = (n1, n2) =>  n1 + n2;
    let res = f4(10, 25);
    console.log(res);

    // 如果箭头函数参数列表只有一个,可以省略()
    let f5 = num => num * 10;
    res = f5(10);
    console.log(res);


定义变量区别:

 d = 45;   //全局变量
 const c = 30 ;   // 常量

 var a = 10 ;  
 let b = 20 ;     
	let、const定义的变量不能重复定义,且具备块级作用域
    块级作用域: 在一个大括号内(作用范围)
eg:    
    if (1) {
        var a = 10;
        let b = 20;  
    }

定义类:
	// 构造函数 == 类
    function F2(name) {
        this.name = name;
        this.eat = function (food) {
            console.log(this.name + '在' + food);
        }
    }
    let ff1 = new F2("Bob");
    console.log(ff1.name);

总结:
    function可以作为类,内部会有this
    箭头函数内部没有this
    {}里面出现的函数称之为方法: 方法名(){}	
   	在vue 环境内的this : 指父类对象(不是本身对象)
	
posted @ 2019-12-16 20:56  black__star  阅读(195)  评论(0编辑  收藏  举报