zoukankan      html  css  js  c++  java
  • 学习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 : 指父类对象(不是本身对象)
    	
    
  • 相关阅读:
    Sublime Text3下使用Python,REPL的安装与快捷键设置方法
    2018最新版本Sublime Text3注册码(仅供测试交流使用)
    Simple website approach using a Headless CMS: Part 3
    Simple website approach using a Headless CMS: Part 2
    Simple Website Approach Using a Headless CMS: Part 1
    Top 19 Headless CMS for Modern Publishers
    Headless CMS
    12位至今仍在世的重要工程师,让我们来认识这些程序界的大前辈
    Linux操作系统(第二版)(RHEL 8/CentOS 8)—内容简介—前言—清华大学出版社—张同光
    List of open source real-time operating systems
  • 原文地址:https://www.cnblogs.com/shaozheng/p/12051291.html
Copyright © 2011-2022 走看看