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

网站jquery上传源代码苏州建设工程信息网

网站jquery上传源代码,苏州建设工程信息网,饰品设计网站推荐,科技型中小企业认定官网一、事件处理器 我们之前事件监听可以使用v-on 指令 1、事件修饰符 在Vue中我们通过由点(.)表示的指令后缀来调用修饰符#xff0c;比如#xff1a; .stop#xff1a;阻止事件冒泡。当事件触发时#xff0c;该修饰符将停止事件进一步冒泡到父元素。相当于调用了 event.stop…一、事件处理器 我们之前事件监听可以使用v-on 指令 1、事件修饰符 在Vue中我们通过由点(.)表示的指令后缀来调用修饰符比如   .stop阻止事件冒泡。当事件触发时该修饰符将停止事件进一步冒泡到父元素。相当于调用了 event.stopPropagation()  .prevent阻止默认事件。默认情况下某些元素会有默认的事件行为比如a标签的点击跳转使用.prevent 可以阻止默认事件的触发。相当于调用了 event.preventDefault()。  .capture使用事件捕获模式。默认情况下事件是在冒泡阶段处理的即从子元素到父元素。使用 .capture 修饰符将事件处理移到事件捕获阶段即从父元素到子元素。  .self只触发当前元素本身的事件。当事件绑定在子元素上时该修饰符只允许事件在子元素上触发而不会触发父元素上相同事件。  .once只触发一次事件。使用 .once 修饰符可以确保事件只被触发一次之后该事件监听器会自动被移除。 !-- 阻止单击事件冒泡 --a v-on:click.stopdoThis/a!-- 提交事件不再重载页面 --form v-on:submit.preventonSubmit/form!-- 修饰符可以串联 --a v-on:click.stop.preventdoThat/a!-- 只有修饰符 --form v-on:submit.prevent/form!-- 添加事件侦听器时使用事件捕获模式 --div v-on:click.capturedoThis.../div!-- 只当事件在该元素本身而不是子元素触发时触发回调 --div v-on:click.selfdoThat.../div!-- click 事件只能点击一次 --a v-on:click.oncedoThis/a2、冒泡案例(.stop) !DOCTYPE html html langen headmeta charsetUTF-8title事件处理器/title!-- jQuery--script srchttps://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js/script!-- vue.js--script srchttps://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js/script /head style.red {width: 400px;height: 400px;background-color: red;}.orange {width: 300px;height: 300px;background-color: orange;}.blue {width: 200px;height: 200px;background-color: blue;}.black {width: 500px;height: 500px;background-color: black;} /style body !-- 定义边界 -- div idappp冒泡事件/pdiv classblack clickblackdiv classred clickreddiv classorange clickorangediv classblue clickblue/div/div/div/div /div /body script typetext/javascript// 绑定边界 ES6具体体现new Vue({el: #app,data() {return {f200: f200};},methods: {red() {alert(red(红色));},orange() {alert(orange橙色);},blue() {alert(blue蓝色);},black() {alert(black黑色);}}}) /script/html 当我们加上了.stop修饰符 !DOCTYPE html html langen headmeta charsetUTF-8title事件处理器/title!-- jQuery--script srchttps://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js/script!-- vue.js--script srchttps://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js/script /head style.red {width: 400px;height: 400px;background-color: red;}.orange {width: 300px;height: 300px;background-color: orange;}.blue {width: 200px;height: 200px;background-color: blue;}.black {width: 500px;height: 500px;background-color: black;} /style body !-- 定义边界 -- div idappp冒泡事件/pdiv classblack click.stopblackdiv classred click.stopreddiv classorange click.stoporangediv classblue click.stopblue/div/div/div/div /div /body script typetext/javascript// 绑定边界 ES6具体体现new Vue({el: #app,data() {return {f200: f200};},methods: {red() {alert(red(红色));},orange() {alert(orange橙色);},blue() {alert(blue蓝色);},black() {alert(black黑色);}}}) /script/html 3、触发案例(.once) !DOCTYPE html html langen headmeta charsetUTF-8title事件处理器/title!-- jQuery--script srchttps://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js/script!-- vue.js--script srchttps://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js/script /head body !-- 定义边界 -- div idappp点击/pinput :valuemsg/button clickdosub提交/button /div /body script typetext/javascript// 绑定边界 ES6具体体现new Vue({el: #app,data() {return {msg: 偶买噶};},methods: {dosub() {alert(this.msg);}}}) /script/html 添加.once之后只能点击一次 !DOCTYPE html html langen headmeta charsetUTF-8title事件处理器/title!-- jQuery--script srchttps://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js/script!-- vue.js--script srchttps://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js/script /head body !-- 定义边界 -- div idappp点击/pinput :valuemsg/button click.oncedosub提交/button /div /body script typetext/javascript// 绑定边界 ES6具体体现new Vue({el: #app,data() {return {msg: 偶买噶};},methods: {dosub() {alert(this.msg);}}}) /script/html 4、综合案例(表单) 需要注意的是复选框v-modelhobbyMax中的hobbyMax使用数组来接收 !DOCTYPE html html langen headmeta charsetUTF-8title表单/title!-- jQuery--script srchttps://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js/script!-- vue.js--script srchttps://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js/script /head body div idapplabel姓名/labelinput v-modelusername/br/label密码/labelinput v-modelpwd typepassword/br/!-- 将用户的输入值转为 Number 类型 --label年龄/labelinput v-model.numberage typenumber/br/label性别/labeldiv v-fors in sexMaxinput typeradio v-modelsex namesex v-bind:values.id/{{s.name}}br//divlabel爱好/labeldiv v-forh in hobbyinput typecheckbox v-modelhobbyMax v-bind:valueh.id/{{h.name}}/divlabel类别/labelselect v-modeltypeoption v-fort in types v-bind:valuet.id{{t.name}}/option/selectbr/label备注/label!-- v-bind:valueinfo--textarea v-modelinfo/textareabr/确认input typecheckbox v-modelflag/input typesubmit v-bind:disabledshow v-on:clickdoSubmit/ /div /body script typetext/javascriptnew Vue({el: #app,data() {return {username: null,pwd: null,age: 10,sex: 1,sexMax: [{id: 1, name: 男}, {id: 2, name: 女}, {id: 3, name: 其他}],hobby: [{id: 1,name: 篮球},{id: 2,name: 唱},{id: 3,name: 跳},{id: 4,name: rap}],hobbyMax: [],types: [{id: 1,name: 职业人},{id: 2,name: 学生},{id: 3,name: 社会人}],type: null,info: 请输入你的个性签名,flag: false}},computed: {show: function () {return !this.flag;}},methods: {doSubmit: function () {var obj {username: this.username,pwd: this.pwd,age: this.age,sex: this.sex,hobbyMax: this.hobbyMax,type: this.type,info: this.info,}console.log(obj);}}}) /script /html 效果演示 二、自定义组件 1、 vue组件 1.1、组件简介 组件(Component)是Vue最强大的功能之一       组件可以扩展HTML元素封装可重用的代码       组件系统让我们可以用独立可复用的小组件来构建大型应用几乎任意类型的应用的界面都可以抽象为一个组件树 1.2、 全局和局部组件 全局组件Vue.component(tagName, options)tagName为组件名options为配置选项。局部组件: new Vue({el:#d1,components:{...}}) 注册后我们可以使用以下方式来调用组件 tagName/tagName 1.3 props props是父组件用来传递数据的一个自定义属性。 父组件的数据需要通过props把数据传给子组件子组件需要显式地用props选项声明 prop 1因为组件是可复用的 Vue 实例所以它们与 new Vue 接收相同的选项例如 data、computed、watch、methods         以及生命周期钩子等。仅有的例外是像el这样根实例特有的选项。 2当我们定义这个 button-counter 组件时你可能会发现它的data并不是像这样直接提供一个对象 data: {count: 0}         取而代之的是一个组件的data选项必须是一个函数因此每个实例可以维护一份被返回对象的独立的拷贝         data: function () {return {count: 0}} 3定义组件名的方式有两种 短横线分隔命名(建议使用) Vue.component(my-component-name, { /* ... */ })引用方式my-component-name 首字母大写命名 Vue.component(MyComponentName, { ... })引用方式 my-component-name和MyComponentName都是可接受的   4HTML 中的特性名是大小写不敏感的所以浏览器会把所有大写字符解释为小写字符。这意味着当你使用 DOM 中的模板时 camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名 props: [postTitle],my-tag post-titlehello!/my-tag 5props: [title, likes, isPublished, commentIds, author] 希望每个 prop 都有指定的值类型   props: {title: String,likes: Number,isPublished: Boolean,commentIds: Array,author: Object,callback: Function,contactsPromise: Promise // or any other constructor} 2、案例 !DOCTYPE html html langen headmeta charsetUTF-8title组件/title!-- jQuery--script srchttps://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js/script!-- vue.js--script srchttps://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js/script /head body !-- 定义边界 -- div idapp!-- 定义组件不能用驼峰命名 --!-- 需求是当引用一个myButton也页面上一个独特标记按钮 --my-img/my-imgmy-button m卡拉米/my-button!-- button onclick/button -- /div /body script typetext/javascriptVue.component(my-button, {// props是定义组件中的变量的props: [m],// template代表了自定义组件在页面上显示的类容template: button v-on:clickincrn我被{{m}}点击{{n}}次/button,data: function () {return {n: 1}},methods: {incrn() {this.n;}}});Vue.component(my-img, {// template代表了自定义组件在页面上显示的类容template: img stylewidth: 100px;height: 100px; srchttps://ts1.cn.mm.bing.net/th/id/R-C.b0ea268fa1be279d112489ce83ad4696?rikqItsh%2fBiy33hlgriuhttp%3a%2f%2fwww.quazero.com%2fuploads%2fallimg%2f140303%2f1-140303215009.jpgehkS6PLWamt%2bMzQV8uO9ugcU5d5M19BpXtCpNz2cRJ7q9M%3drislpidImgRawr0,});// 绑定边界 ES6具体体现new Vue({el: #app,data() {return {};}}) /script/html 三、组件通信 1. 自定义事件 监听事件$on(eventName)   触发事件$emit(eventName) 1.1、Vue自定义事件是为组件间通信设计   vue中父组件通过prop传递数据给子组件而想要将子组件的数据传递给父组件则可以通过自定义事件的绑定 父Vue-子Vue通过prop传递数据        子Vue-父Vue通过事件传递数据 1.2、事件名 不同于组件和prop事件名不存在任何自动化的大小写转换。而是触发的事件名需要完全匹配监听这个事件所用的名称。         建议使用“短横线分隔命名” 2、案例 2.1、父传子 !DOCTYPE html html langen headmeta charsetUTF-8title通信/title!-- vue.js--script srchttps://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js/script /head body div idapph3父传子1/h3my-button m牛马/my-buttonh3父传子2/h3my-button m小卡拉米 n2/my-button /div /body script// 定义全局组件的方式Vue.component(my-button, {props: [m, n],template: button v-on:clickMyButton{{m}}被点了{{n}}次/button,data: function () {return {n: 1};},methods: {MyButton: function () {this.n;}}})var vm new Vue({el: #app,data: {msg: 999}}); /script /html 2.2、子传父 !DOCTYPE html html langen headmeta charsetUTF-8title通信/title!-- vue.js--script srchttps://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js/script /head body div idapp2h3子传父/h3!-- 使用自定义组件my-button的时候进行传值(相当于jsp标签往助手类中传值的概念) --my-buttons m666 getButgetXx/my-buttons /div /body script// 定义全局组件的方式Vue.component(my-buttons, {props: [m],template: button v-on:clickMyButton{{m}}被点了/button,methods: {MyButton: function () {let id 123;let name 天才;this.$emit(getbut, id, name);}}})var vm new Vue({el: #app2,data: {msg: 666},methods: {getXx: function (a, b) {console.log(a);console.log(b);}}}); /script /html
http://www.tj-hxxt.cn/news/231006.html

相关文章:

  • 网站建设电脑维修数据恢复酒店网站建设因素
  • powershell做网站建设银行的网站用户名是什么
  • 网站建设方案交换认苏州久远网络湖州做网站优化
  • 福州微信网站制作设计公司网站页面设计
  • 大兴网站制作找客户的软件有哪些
  • 宁波网站建设制作电话号码网络广告案例以及分析
  • 汕尾网站建设青岛网站建设搭建
  • 论坛推广网站网络推广宣传方式
  • wordpress建站详解有哪些好的响应式网站有哪些
  • 网站做强制访问控制wordpress主题生成
  • 云南建设监理协会网站wordpress结合tornado
  • 网站建设教程免费湖南岚鸿天津搜索引擎推广系统
  • 网站开发word怎么自己找外贸订单
  • 有没有做美食的小视频网站公司网站建设方案建议
  • 营销型网站可以吗seo优化内页排名
  • html搭建网站wordpress全站cdn
  • 网站推广营销方法wordpress 模板 外贸
  • 龙岩网页优化网站使用体验
  • 高级网站建设做网站和app哪个简单
  • 四川住房城乡和城乡建设厅网站苏州竞价托管
  • 大连seo网站石家庄建设一个网站多少钱
  • 免费网站的资源可以发公众号吗广告代理商是什么
  • 广东网站开发软件现在做推广有什么好的方法
  • 做网站的什么公司最好分类信息网址
  • 购物网站制作教程北京公司网站制作要多少钱
  • 罗湖做网站运营乐云seo网址大全免费下载
  • 外贸网站布局网站群建设平台
  • 运城做网站哪家好免费网络游戏排行榜前十名
  • 为什么要用h5建站做网站需要怎么分工
  • 如何创建商业网站欧力虎网站建设