当前位置: 首页 > news >正文

wordpress邮箱评论口碑优化seo

wordpress邮箱评论,口碑优化seo,微信 分享网站开发,眉山建设银行官方网站v-model是表单组件里面的核心知识点&#xff0c;这个指令给我们写表单业务带来了很大的方便。 元素标签上的 v-model 指令用于双向绑定数据,它是一个语法糖&#xff0c;可以用于代替 v-bind:value 和 input 例如&#xff1a;<input v-model"message" placeholder…

v-model是表单组件里面的核心知识点,这个指令给我们写表单业务带来了很大的方便。
请添加图片描述

  • 元素标签上的 v-model 指令用于双向绑定数据,它是一个语法糖,可以用于代替 v-bind:value@input

    • 例如:<input v-model="message" placeholder="edit me">
    • 相当于:<input :value="message" @input="message = $event.target.value">
  • 组件上的 v-model 指令默认会使用 value 属性与组件数据双向绑定,可以通过 model 选项来更改

一般使用

const inputTemplate = `<input :placeholder="message" v-bind:value="value" @input="updateValue" />`;
Vue.component("custom-input", {template: inputTemplate,props: ["value", "message"],methods: {updateValue(e) {this.$emit("input", e.target.value);},},
});var app = new Vue({el: "#app",data() {return {message: "",username: "",};},methods: {onFocus() {this.message = "输入框被点击了";},onBlur() {this.message = "";},},
});
<div id="app"><h3>{{username}}</h3><custom-input v-model="username" :placeholder="message" />
</div>

自定义组件绑定原生事件

## 自定义组件绑定原生事件

根据 vue 的设计理念,自定义组件上的属性和事件,会默认绑定到组件的根元素上,如果想要绑定到组件的原生事件上,需要使用 .native 修饰符。
也就是我们在组件内部不使用 props 进行显示的接受,这些属性和事件会默认的绑定到组件的根元素上。 @focus.native="onFocus" @blur.native="onBlur" class="custom-input" 这三个属性我在组件内部没有使用 props 进行接受,但是却可以正常的使用。

<div id="app"><h3>{{username}}</h3><custom-inputclass="custom-input"v-model="username":placeholder="message"@focus.native="onFocus"@blur.native="onBlur"/>
</div>
const inputTemplate = `<input :placeholder="message" v-bind:value="value" @input="updateValue" />`;
Vue.component("custom-input", {template: inputTemplate,props: ["value", "message"],methods: {updateValue(e) {this.$emit("input", e.target.value);},},
});var app = new Vue({el: "#app",data() {return {message: "请输入要显示的文字",username: "",};},methods: {onFocus() {this.message = "输入框被点击了";},onBlur() {this.message = "";},},
});

请添加图片描述

关于inheritAttrs

在 vue2.4 版本中,新增了 inheritAttrs 选项,默认情况下,组件上没有在 props 中声明的属性会被添加到组件的根元素上。
有时候,我们不希望这些属性添加到组件的根元素上,可以通过设置 inheritAttrs: false 来关闭这个功能。
同时,改造下inputTemplate

请添加图片描述
这时候,我们发现focusblur事件失效了,没有报错,就是没有触发。
这种情况,就需要我们手动来处理了,原因就是上面的原理

const inputTemplate = `<label>{{label}}<input  :placeholder="placeholder" :value="value" @input="updateValue" v-on="customListeners"/></label>`;
Vue.component("custom-input", {inheritAttrs: false,template: inputTemplate,props: ["value", "placeholder", "label"],methods: {updateValue(e) {this.$emit("input", e.target.value);},},computed: {customListeners() {var vm = this;console.log("🚀 ~ customListeners ~ this.$listeners:", this.$listeners);return Object.assign({}, this.$listeners, {input: (e) => {vm.$emit("input", e.target.value);},});},},
});var app = new Vue({el: "#app",data() {return {message: "请输入要显示的文字",username: "",label: "账号:",};},methods: {onFocus() {this.message = "输入框被点击了";},onBlur() {this.message = "";},},
});
<div id="app"><h3> {{username}}</h3><custom-input class="custom-input" v-model="username" :placeholder="message" @focus="onFocus" @blur="onBlur" :label="label"/>
</div>

注意这里@focus="onFocus" @blur="onBlur",要去掉.native,不然也不生效
请添加图片描述

http://www.mnyf.cn/news/35199.html

相关文章:

  • seo应用领域系统优化大师免费版
  • 公司网站策划书企业培训平台
  • 阿里云网站托管百度权重等级
  • 网站seo优化公司还有哪些平台能免费营销产品
  • 网络游戏公司百度优化关键词
  • 石岩附近网站建设公司seo技巧seo排名优化
  • 巫溪集团网站建设今日十大热点新闻
  • 建网站软件哪个好北京疫情发布不再公布各区数据
  • 网站建设风格百度网站安全检测
  • 韩国网站的风格百度竞价外包
  • 黄江镇做网站优化网站有哪些方法
  • 下载网站如何做线上推广平台
  • 互联网保险公司十大排名seo的工作内容
  • 没有网站怎么做推广中国万网域名注册
  • 吉林网站建设费用小程序排名优化
  • 网站系统升级建设合同有品质的网站推广公司
  • 天空人体网站怎么做app推广引流方法
  • 网站设计的概述技术短期培训班
  • 石家庄网站优化推广太原网站快速排名优化
  • 一个静态网站多少钱百度搜索下载
  • 怎么做阿里巴巴国际网站首页百度竞价排名
  • 网站建设域名注册北京seo网站设计
  • 免费网站图片素材网络营销专业就业方向
  • 顺德网站建设策划sem和seo哪个工作好
  • 网站ftp需要关闭广东疫情最新消息今天
  • 沈阳 网站开发制作seo快速排名网站优化
  • 成立公司注册资金要求太原seo外包服务
  • 动态网站设计心得怎么在百度上添加自己的店铺地址
  • 北京网站建设公司东为在线看seo网站
  • 企业做网站的步骤与做网站注意事项今日新闻头条新闻今天