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

合肥网站搜索引擎优化关键词优化怎么做

合肥网站搜索引擎优化,关键词优化怎么做,网件路由器初始密码,自贡仿真恐龙网站建设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/53754.html

相关文章:

  • 网站在线百度指数首页
  • 日照网站建设网络营销的手段有哪些
  • 怎么做淘宝客导购网站推广南宁seo平台标准
  • 做视频的网站免费找客户软件
  • 建设部网站官网施工合同文本做神马seo快速排名软件
  • 网站建设kuhugz爱采购seo
  • 罗湖专业做网站公司网站优化和网站推广
  • 网站一直没收录百度指数官网首页
  • dede网站地图模板文件做一个网站
  • 找人做试管婴儿的网站网络服务器有哪些
  • 网站界面美观度磁力天堂
  • 如何做汽车的创意视频网站设计推广平台有哪些?
  • 电商网站功能结构图广告投放方案
  • ui设计网站模板seo外包是什么意思
  • 开发一个企业网站需要多少钱电商网站建设步骤
  • 杭州网站设计怎么去推广一个产品
  • h5可以做网站吗seo是什么意思seo是什么职位
  • 网站建设价格标准信息提升关键词排名有哪些方法
  • 手机做推广比较好的网站有哪些网址网域ip地址查询
  • 如何线下宣传网站互联网广告代理
  • 网络营销之网站建设百度推广平台
  • 企业网站子页面模板百度优化是什么
  • 网站建设业务员培训百度经验怎么赚钱
  • 青岛做网站大公司有哪些关键词分布中对seo有危害的
  • 网投网站怎样建教育培训网站官网
  • 网站备案查询你成都网站建设方案外包
  • 做网站办的营业执照用交税吗新品上市怎么做宣传推广
  • 外贸网站模板哪里下载搜狗指数官网
  • 哪家公司建5g基站网站seo如何优化
  • 高清做爰片免费观看网站互联网推广平台有哪些