zoukankan      html  css  js  c++  java
  • Vue、React和Angular

    渐进式代表的含义是:没有多做职责之外的事。

    vue.js只提供了vue-cli生态中最核心的组件系统和双向数据绑定。

    就好像 vuex、vue-router都属于围绕vue.js开发的库。

    使用Angular,必须接受以下东西:

    1、必须使用它的模块机制

    2、必须使用它的依赖注入

    3、必须使用它的特殊形式定义组件(这一点每个视图框架都有,这是难以避免的)

    所以Angular是带有比较强的排它性的,如果你的应用不是从头开始,而是要不断考虑是否跟其他东西集成,这些主张会带来一些困扰。

    使用React,你必须理解:

    1、函数式编程的理念

    2、需要知道它的副作用

    3、什么是纯函数

    4、如何隔离、避免副作用

    5、它的侵入性看似没有Angular那么强,主要因为它是属于软性侵入的

    Vue与React、Angular的不同是,但它是渐进的:

    1、可以在原有的大系统的上面,把一两个组件改用它实现,就是当成jQuery来使用

    2、可以整个用它全家桶开发,当Angular来使用

    3、可以用它的视图,搭配你自己设计的整个下层使用

    4、可以在底层数据逻辑的地方用OO和设计模式的那套理念

    5、可以函数式,它只是个轻量视图而已,只做了最核心的东西

    Vue几种常用的指令:

    1、v-if:根据表达式的值的真假条件渲染元素。在切换时元素及它的数据绑定 / 组件被销毁并重建。

    2、v-show:根据表达式之真假值,切换元素的 display CSS 属性。

    3、v-for:循环指令,基于一个数组或者对象渲染一个列表,vue 2.0以上必须需配合 key值 使用。

    4、v-bind:动态地绑定一个或多个特性,或一个组件 prop 到表达式。

    5、v-on:用于监听指定元素的DOM事件,比如点击事件。绑定事件监听器。

    6、v-model:实现表单输入和应用状态之间的双向绑定

    7、v-pre:跳过这个元素和它的子元素的编译过程。可以用来显示原始 Mustache 标签。跳过大量没有指令的节点会加快编译。

    8、v-once:只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。

    Vue常用的修饰符:

    v-on 指令常用修饰符:

    1、.stop -调用 event.stopPropagation(),禁止事件冒泡。

    2、.prevent -调用 event.preventDefault(),阻止事件默认行为。

    3、.capture -添加事件侦听器时使用 capture 模式。

    4、.self -只当事件是从侦听器绑定的元素本身触发时才触发回调。

    5、.{keyCode | keyAlias} -只当事件是从特定键触发时才触发回调。

    6、.native -监听组件根元素的原生事件。

    7、.once -只触发一次回调。

    8、.left - (2.2.0)只当点击鼠标左键时触发。

    9、.right - (2.2.0)只当点击鼠标右键时触发。

    10、.middle - (2.2.0)只当点击鼠标中键时触发。

    11、.passive - (2.3.0)以 { passive: true } 模式添加侦听器

    (注意!)如果是在自己封装的组件或者是使用一些第三方的UI库时,会发现并不起效果,这时就需要用其他的了

    .native修饰符了,如:

    //使用示例:

    <el-input

      v-model="inputName"

    placeholder="搜索你的文件"

      @keyup.enter.native="searchFile(params)"

      >

    </el-input>

    v-bind指令常用修饰符:

    1、.prop -被用于绑定 DOM 属性 (property)。(差别在哪里?)

    2、.camel - (2.1.0+)将 kebab-case 特性名转换为 camelCase. (从 2.1.0 开始支持)

    3、.sync (2.3.0+)语法糖,会扩展成一个更新父组件绑定值的 v-on 侦听器。

    v-model指令常用修饰符:

    1、.lazy -取代 input 监听 change 事件

    2、.number -输入字符串转为数字

    3、.trim -输入首尾空格过滤

    而且v-on可以监听多个方法,例如:

    <input type="text" :value="name" @input="onInput" @focus="onFocus" @blur="onBlur" />

    但是同一种事件类型的方法,只会响应第一个,例如:

    <a href="javascript:;" @click="methodsOne" @click="methodsTwo"></a>

    只会响应methodsOne方法

  • 相关阅读:
    python运行错误---TabError: Inconsistent use of tabs and spaces in indentation
    python运行错误------Non-UTF-8 code
    opencv错误(Unhandled expection at at 0x0007EEE...)
    fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突——我的解决方案
    基础术语
    opencv
    图像归一化
    人脸相关数据库
    堆排序
    abp学习(二)
  • 原文地址:https://www.cnblogs.com/WebApp-DotNet/p/14952900.html
Copyright © 2011-2022 走看看