vue学习笔记(二)

最近公司赶项目,一直也没时间看 vue,之前看下的都快忘得差不多了。哈哈哈,来一起回顾一下vue 学习笔记(一)后,继续向下看嘛。

#表单输入绑定

基础用法

  1. v-model 会忽略所有表单元素的 value、checked、selected 特性的初始值而总是将 Vue 实例的数据作为数据来源。你应该通过 JavaScript 在组件的 data 选项中声明初始值。
  2. 对于需要使用输入法 (如中文、日文、韩文等) 的语言,你会发现 v-model 不会在输入法组合文字过程中得到更新。如果你也想处理这个过程,请使用 input 事件。(手敲一个“中文”,在输入法中有“zhongwen”的拼音,并且有“中文”等选项可以选择,从输入拼音,到选择结束,这个过程就叫做 “输入法组合文字过程”)

譬如:

<span>Multiline message is:span>
<p style="white-space: pre-line;">{{ message }}p>
<br>
<textarea v-model="message" placeholder="add multiple lines">textarea>

在文本区域插值 () 并不会生效,应用 v-model 来代替。

顺便了解一下 white-space 的属性值:
- pre 按给的文字格式显示
- pre-line 合并多个空白符,但可正常换行
- pre-wrap 保留多个空白符,可以正常换行
- no-wrap 不换行
- inherit 从符元素继承 white-space 属性值
- normal 默认。空白会被浏览器忽略


当有多个同类型表单元素时,一般都加上 value。譬如:

// 单个复选框,绑定到布尔值
<input type="checkbox" id="checkbox" v-model="checked">
<label for="checkbox">{{ checked }}label>

// 多个复选框,绑定到同一个数组
<div id='example-3'>
  <input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
  <label for="jack">Jacklabel>
  <input type="checkbox" id="john" value="John" v-model="checkedNames">
  <label for="john">Johnlabel>
  <input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
  <label for="mike">Mikelabel>
  <br>
  <span>Checked names: {{ checkedNames }}span>
div>

技巧说明:

<div id="example-5">
  <select v-model="selected">
    <option disabled value="">请选择option>
    <option>Aoption>
    <option>Boption>
    <option>Coption>
  select>
  <span>Selected: {{ selected }}span>
div>
new Vue({
  el: '...',
  data: {
    selected: ''
  }
})

如果 v-model 表达式的初始值未能匹配任何选项,"checkbox" v-bind:checked="checked" v-on:change="$emit('change', $event.target.checked)" > ` })

<base-checkbox v-model="lovingVue">base-checkbox>

这里的 lovingVue 的值将会传入这个名为 checked 的 prop。同时当 触发一个 change 事件并附带一个新的值的时候,这个 lovingVue 的属性将会被更新。

PS: 注意你仍然需要在组件的 props 选项里声明 checked 这个 prop。



羡慕和追逐强者,是男人生来融入血脉的天性。 一一 俗念亲 《每次跳楼,都看见那厮在铺救生气垫》

天气转凉,请预防感冒!这不是广告,是忠告。

你可能感兴趣的:(tech)