zoukankan      html  css  js  c++  java
  • day65

    Vue框架的优势

    前端框架:angular、react、vue

    vue:有前两大框架优点,摈弃缺点;没有前两个框架健全

    vue优点:中文API、单页面应用、组件化开发、数据双向绑定、虚拟DOM、数据驱动思想(相比DOM驱动)
    中文API—易读,学习成本低

    单页面应用—提升移动端app运行速度

    数据的双向绑定—变量全局通用

    数据驱动—只用考虑数据,不需要在意DOM结构

    虚拟DOM—缓存机制

    Vue如何在页面中引入

    1、通过script标签引入vue.js环境

    2、创建vue实例

    3、通过el进行挂载

    插值表达式

    {{ 标量以及变量的简单运算 }}

    文本指令

    {{ }} | v-text | v-html | v-once

    方法指令

    v-on:事件 = ”变量“ | @事件=”变量“ | @事件=“变量()” | @事件=“变量($event,...)”

    @click=’btnClick(1,2,$event)‘
    btnClick(n1,n2,event){}
    btnClick(...args){}

    属性指令

    v-bind:属性=“变量” | :属性=“变量”

    :title="t1"
    :class="c1"  |  :class="[c1, c2]"  |   :class="{c1: true}"
    :style="s1"  |  :style="{color: c1, fontSize: f1}"
    s1是字典变量,c1和f1变量分别控制字体颜色和大小
    

    js补充

    function可以作为类,内部会有this

    箭头函数内部没有this

    {}里面出现的函数称之为方法:方法名(){}


    new Vue({ 
    	el: '.d2', 
    });
    
    挂载点采用的是css3选择器语法,但是只能匹配第一次检索到的结果,一个页面可以有多个挂载点
    

    总结:

    1、通常挂载点都采用id选择器(唯一性)

    2、html与body标签不能作为挂载点(组件知识点解释)

    3、data为挂载点内部提供的数据

    let app = new Vue

    总结:

    声明的实例是否用一个变量接收

    1、在实例内部不需要,用this就代表当前vue实例的本身

    2、在实例外部或其他实例内部需要,定义一个变量接收new Vue()产生的实例

    文本指令总结:

    1、{{ }}

    2、v-text :不能解析html语法的文本,会原样输出

    3、v-html :能解析html语法的文本

    4、 v-once:处理的标签的内容只能被解析一次

    面向对象总结:

    数据类型: undefined(空)、null(空)、string(字符串)、number(数字)、boolean(布尔型)、object(Array) (对象、数组)、function(方法、函数)

    定义变量的方法:var、let、const、不写

    构造函数==类

    function F2(name) {
        this.name = name;
        this.eat = function (food) {
    		console.log(this.name + '在' + food);
    	}
    }
    let ff1 = new F2("Bob");
    console.log(ff1.name);
    
    let ff2 = new F2("Tom");
    console.log(ff2.name);
    
    ff1.eat('饺子');
    ff2.eat('sao子面');
    

    方法的语法

        let obj = {
            name: 'Jerry',
            
            // eat: function (food) {
            //     console.log(this.name + '在' + food)
            // },
            
            eat(food) {  // 方法的语法
                console.log(this.name + '在' + food)
            }
        };
        console.log(obj.name);
        obj.eat('hotdog');
    

    js函数补充总结:

    let、const定义的变量不能重复定义,且具备块级作用域

    const c = 30;  // 常量
    console.log(c);
    
        for (let i = 0; i < 5; i++) {
            console.log(i);
        }
        // console.log(i);
    

    如果箭头函数没有参数

        let f3 = () => {
            console.log('f3 run');
        };
        f3();
        
        结果:f3 run
    

    如果箭头函数没有函数体,只有返回值

    let f4 = (n1, n2) =>  n1 + n2;
    let res = f4(10, 25);
    console.log(res);
    
    结果:35
    

    如果箭头函数参数列表只有一个,可以省略()

    let f5 = num => num*10;
    res = f5(10);
    console.log(res);
    
    结果:100
    

    重点:function、箭头函数、方法都具有本质的区别

        let obj = {
            name: 'Jerry',
            
            
                   //function//
            // eat: function (food) {
            //     console.log(this);
            //     console.log(this.name + '在吃' + food)
            // },
            
            
                 //箭头函数//
            // eat: food => {
            //     console.log(this);
            //     console.log(this.name + '在' + food)
            // },
            
            
                   //方法//
            eat(food) {  // 方法的语法
                console.log(this);
                console.log(this.name + '在' + food)
            }
        };
        obj.eat('food');
    

    事件指令总结:

    事件指令:

    v-on:事件名=“方法变量”

    简写:@事件名=“方法变量”

    鼠标悬浮|离开

    mouseover mouseenter  |  mouseout mouseleave
    

    事件变量,不添加(),默认会传事件对象:$event

    事件变量,添加(),代表自定义传参,系统不再传入事件对象,可以手动传入事件对象

    <p @click="f8($event, '第一个')">{{ info }}</p>
    

    属性指令总结:

    属性指令:

    v-bind:属性名=“变量名”

    简写: :属性名=“变量名”

    1、简单使用

    <p v-bind:title="pTitle" :abc="def" @click="changeImg">简单使用</p>
    

    2、class属性绑定

    c1变量的值就是类名

    <p :class="c1"></p>
    

    3、多类名可以使用 [ ]语法,采用多个变量来控制

    <p :class="[c2, c3]"></p>
    

    4、选择器位可以设置为变量,也可以设置为常量(加引号)

    <p :class="['d1', c4]"></p>
    

    5、{类名:布尔值}控制某个类名是否起作用

    <p :class="{x1: false}"></p>
    

    6、多种语法混用

    <p :class="['d1', {d2: is_true}]" @click="is_true = !is_true"></p>
    

    日考

    1、http与https

    http vs https:应用层,传输层,http协议传输层采用的是tcp(文件传输协议)

    http特点:无状态,无连接,先客户端发出请求,服务端一定做出响应

    https:在http协议之上增加ssl安全认证

    2、前端布局

    流式布局

    响应式布局

    盒模型布局

    浮动布局

    定位布局

    3、你所知道的orm

    框架采用元数据来描述对象——关系映射细节,元数据一般采用XML格式,并且存放在专门的对象——映射文件中。

    我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。

    持久化五类:把对象持久化到数据库中

    Hibernate(Nhibernate)
    iBATIS
    mybatis
    EclipseLink
    JFinal
    

    课程安排流程

    Vue:

    基础:指令、实例成员、组件(组件间传参)

    项目:基于组件开发、插件(vue-router、vuex、axios、vue-cookies、jq+bs、element-ui)

    DRF:

    全称:django-restframework:完成前后台 分离式 django项目

    知识点: 请求、响应、渲染、解析、异常

    序列化组件、三大认证、视图家族(CBV)

    分页、筛选、搜索、排序

    Luffy:

    目的:了解前后台分离项目,了解公司开发项目的模式
    知识点:git、多方式登录、第三方短信认证、支付宝、上线


  • 相关阅读:
    angularjs学习笔记一之显示数据,修改数据
    收藏/不再提醒
    CSS3动画
    Content-Type
    键盘快捷键
    url、href、src 详解
    关于docnment.write() 会清空原来的内容
    jq事件注意点
    echart的自适应
    键盘事件
  • 原文地址:https://www.cnblogs.com/gfhh/p/12051421.html
Copyright © 2011-2022 走看看