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方法
本文来自博客园,作者:瘋孑,转载请注明原文链接:https://www.cnblogs.com/WebApp-DotNet/p/14952900.html