vue笔记

<pre>
访问事件对象,传入参数$event,
</pre>
<pre>
事件修饰符 (修饰符可以串联使用v-on:click.stop.prevent)
.stop
阻止单击事件继续传播
<a v-on:click.stop="doThis"></a>
.prevent
提交事件不再重载页面
<form v-on:submit.prevent="onSubmit"></form>


<div v-on:click.capture="doThis">...</div>

    <!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
    <!-- 即事件不是从内部元素触发的 -->
    <div v-on:click.self="doThat">...</div>
    <!-- 点击事件将只会触发一次 -->
    <a v-on:click.once="doThis"></a>
     .passive 修饰符来提升移动端的性能。举个例子,在滚动的时候,浏览器会在整个事件处理完毕之后再触发滚动
    <div v-on:scroll.passive="onScroll">...</div>
    注:不要把 .passive 和 .prevent 一起使用。被动处理函数无法阻止默认的事件行为。
</pre>
<pre>
按键修饰符
<input v-on:keyup.13="submit">
点击键值为13时的按键触发
 Vue 为最常用的按键提供了别名:
 <!-- 缩写语法 -->
<input @keyup.enter="submit">
全部的按键别名:
.enter
.tab
.delete (捕获“删除”和“退格”键)
.esc
.space
.up
.down
.left
.right

可以通过全局 config.keyCodes 对象自定义按键修饰符别名:
Vue.config.keyCodes.f1 = 112
</pre>
<pre>
    系统修饰键
    可以用如下修饰符来实现仅在按下相应按键时才触发鼠标或键盘事件的监听器。
    .ctrl
    .alt
    .shift
    .meta

    <!-- Alt + C -->
    <input @keyup.alt.67="clear">

    <!-- Ctrl + Click -->
    <div @click.ctrl="doSomething">Do something</div>
</pre>
<pre>
    .exact 修饰符
    修饰符允许你控制由精确的系统修饰符组合触发的事件。
    <!-- 即使 Alt 或 Shift 被一同按下时也会触发 -->
    <button @click.ctrl="onClick">A</button>

    <!-- 有且只有 Ctrl 被按下的时候才触发 -->
    <button @click.ctrl.exact="onCtrlClick">A</button>

    <!-- 没有任何系统修饰符被按下的时候才触发 -->
    <button @click.exact="onClick">A</button>
</pre>
<pre>
    鼠标按钮修饰符
    .left
    .right
    .middle
    这些修饰符会限制处理函数仅响应特定的鼠标按钮。
</pre>
<pre>
    使用 v-on 有几个好处:
    1.扫一眼 HTML 模板便能轻松定位在 JavaScript 代码里对应的方法。
    2.因为你无须在 JavaScript 里手动绑定事件,你的 ViewModel 代码可以是非常纯粹的逻辑,和 DOM 完全解耦,更易于测试。
    3.当一个 ViewModel 被销毁时,所有的事件处理器都会自动被删除。你无须担心如何自己清理它们。
</pre>
<pre>
    复选框
    1.单个复选框,绑定到布尔值:
    2.多个复选框,绑定到同一个数组:
</pre>
<pre>
    修饰符
    .lazy
    在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 (除了上述输入法组合文字时)。你可以添加 lazy 修饰符,从而转变为使用 change 事件进行同步)
    <!-- 在“change”时而非“input”时更新 -->
    <input v-model.lazy="msg" >
    .number
    自动将用户的输入值转为数值类型,因为即使在 type="number" 时,HTML 输入元素的值也总会返回字符串。
    .trim
    去空
</pre>
<pre>
    组件
    要注册一个全局组件,可以使用 Vue.component(tagName, options);
    使用 Prop 传递数据
    Prop 是单向绑定的:当父组件的属性变化时,将传导给子组件,但是反过来不会。这是为了防止子组件无意间修改了父组件的状态,来避免应用的数据流变得难以理解。
    另外,每次父组件更新时,子组件的所有 prop 都会更新为最新值。这意味着你不应该在子组件内部改变 prop。如果你这么做了,Vue 会在控制台给出警告。
    对这两种情况,正确的应对方式是:
    1.定义一个局部变量,并用 prop 的值初始化它
    props: ['initialCounter'],
        data: function () {
          return { counter: this.initialCounter }
        }
    2.定义一个计算属性,处理 prop 的值并返回

    要指定验证规则,需要用对象的形式来定义 prop,而不能用字符串数组:
</pre>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.基本绑定: new Vue( { el:'#elID', data:{ ...
    寒剑飘零阅读 544评论 0 1
  • v-model: 在表单元素上创建双向数据绑定。 v-if 条件渲染指令,它根据表达式的真假来删除和插入元素 ...
    ROBIN2015阅读 221评论 0 0
  • vue中的MVVM模式 即Model-View-ViewModel。 Vue是以数据为驱动的,Vue自身将DOM和...
    w_zhuan阅读 251评论 0 1
  • Vue笔记一:简单入门 引言 vue.js是由尤大神Evan YOU主持的MVVM项目,相对angular更轻量,...
    brandonxiang阅读 2,704评论 1 2
  • 今天一早起床就看到一篇关于感恩节的推文,自己兴趣在那里给“男人们”写了一份感谢信! 父亲,领导们,先生,航等还没全...
    海过留痕燕过留声阅读 323评论 0 1