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

中山响应式网站微信小程序设计团队

中山响应式网站,微信小程序设计团队,网站模板文件在哪里下载,网络设计思路准备: 安包 npm less less-loader。拆分:一共分成两个组件部分: 1:My-Tag 标签一个组件。2:My-Table 整体一个组件(表头不固定,内容不固定(插槽)) 一&…

准备:

安包 npm less less-loader。拆分:一共分成两个组件部分:

1:My-Tag 标签一个组件。2:My-Table 整体一个组件(表头不固定,内容不固定(插槽))

一,My-Tag 分类标签的功能:

tip:拆分时style要加:<style lang="less" scoped> </style>

在APP.vue中:导入、注册、使用组件

功能:

1 : input修改数据 和 文字互斥

用 布尔数据  isShow:falseinput加v-if 、div加v-else

<template><div class="my-tag"><inputclass="input"type="text"placeholder="输入标签"v-if="isShow"/><div class="text" v-else>茶具</div></div>
</template>
<script>
// My-Tag 分类标签的功能:
// 1 : input修改数据  和  文字互斥   用   布尔数据  v-if  v-else 
// 2 : 双击文字   div显示input标签→自动获得焦点
// 3 : input要数据回显
// 4 : 用户输入后,回车→把新的内容渲染到页面→数据应该同步
export default {
data(){return{isShow:false}
},
}
</script>

2 :双击显示input+自动获焦和失焦

双击文字 div显示input标签输入框+input输入框自动获得焦点

光标在输入框中失去焦点时:输入框变成div里的文字

dbl=double 

1 div(茶具)添加@dblclick双击   修改isShow:为true

main全局自定义命令获焦指令,在input身上直接用v-focus

3 input添加   @blur失焦  isShow:修改为true,输入框变成div里的文字

import Vue from 'vue'
import App from './App.vue'Vue.config.productionTip = false//自定义命令---获得焦点-----全局-----在main.js
Vue.directive('focus', {inserted(el) {el.focus()}})// ---------------------------------
new Vue({render: h => h(App),
}).$mount('#app')
<template><div class="my-tag"><inputclass="input"type="text"placeholder="输入标签"v-if="isShow"v-focus@blur="isShow=false"/><!--dbl=double  双击-------><div class="text" v-else @dblclick="dblfn" >茶具</div></div>
</template>
<script>
// My-Tag 分类标签的功能:
// 1 : input修改数据  和  文字互斥   用   布尔数据  v-if  v-else 
// 2 : 双击文字   div显示input标签→自动获得焦点
// 3 : input要数据回显
// 4 : 用户输入后,回车→把新的内容渲染到页面→数据应该同步
export default {
data(){return{isShow:false}},
methods:{dblfn(){this.isShow=true}
}
}
</script>

3 : input要数据回显

父传子- 子组件用父组件的数据。父子通信比较繁琐,

所以用v-model双向绑定 化简(V-model=value属性和input事件的缩写)

1 :父APP.vue:假设一个txt="哈哈哈"   字符串数据,

2 :My-Tag挖坑:props:{  value:String  },

3:父APP.vue: 使用v-model       <MyTag v-model="txt"></MyTag>

4:input添加:value="value" 

5  :  div里文字用差值表达式代替{{value}}

4 : 用户输入后回车,新内容渲染到页面

用户输入后,回车→把新的内容渲染到页面→数据应该同步

1:在input里添加回车事件    @keyup.enter="enterfn"

2 :写函数enterfn:通知父组件保存用户输入的数据$emit(事件名,用户输入的数据)-语法糖

                用户输入的值——借助事件对象获取value的值e.target.value

3 :显示div 隐藏输入框 this.isShow=false

二、My-Table  整体一个组件

1:拆组件

把APP.vue的my-table的结构和css样式剪切到My-Table(拆成组件,好处就是能调用多次)

tip:拆分时My-Table的style要加:<style lang="less" scoped> </style>

然后把My-Table在根组件APP.vue导入、注册、使用

tip:把My-Tag的导入注册和使用全部注释(不然会报错,My-Tag被发现但未使用)

2:父传子拿数据(for循环渲染数据)

1 :My-Table挖坑 使用父组件的数据 

2:父组件传数据

3:子组件v-for循环替换数据

3:插槽

拆成组件,能调用多次,但因为调用多次,不可能每次调用的表格都一模一样(结构不固定),

所以用插槽(表头和内容分别用插槽)允许根据需要定制

1: My-Table表头和内容slot插槽,

2 : name命名——表头:name="head",内容:name="con"  在APP.vue表头和内容接收一下数据

3:内容的插槽——用作用域插槽

My-Table作用域的v-for的值(:item="item" :index="index")扔到APP.vue使用

4 : 放开MyTag注释更换MyTag使用时绑定的值

1:把分类标签的My-Tag的引入、注册、使用、的注释放开,

2: 把使用MyTag 组件绑定的v-model的值更换成item.tag

  <MyTag v-model="item.tag"></MyTag>

http://www.sczhlp.com/news/147023/

相关文章:

  • 山东网站集约化建设收录优美图片崩了
  • 网站服务类型有哪些文山app开发定制
  • 网站权重高 做别的关键词品网站建设公司排名
  • 邢台路桥建设总公司没有网站吗深圳罗湖做网站的公司
  • 青岛官网建站玉田住房与城乡建设局网站
  • 魔兽争霸3冰封王座安装包下载
  • 四川建设考试培训网无锡百度seo优化
  • 手机网站 标题长度首页网站怎么做的
  • 给我免费的视频在线观看重庆网站建设seo公司
  • 呼和浩特可以做网站的公司名字logo设计免费
  • 网站基础建设和管理火蝠电商
  • 对网站开发与管理的分析网页设计师收费标准
  • 网站制作 flash 修改在门户网站上做推广
  • 制作网站的后台网站首页新世纪建设集团有限公司
  • vscode tunnel远程隧道访问 正确重启方法
  • 盐城做网站qq网页版手机版
  • 众筹网站平台建设曹县网站开发公司
  • 网站源码程序修改如何做公司的网站
  • 顺义制作网站手机微信网站模板
  • j建设银行查数据的网站怎么做淘宝网站步骤
  • 电子商务网站开发的题国内网站建设公司排名
  • 网络营销就是建立企业网站常州建设银行网站首页
  • 重庆中小企业建站价格电商货源网站大全
  • 北京平台网站建设找哪家建设电子商务网站论文
  • 专业做网站排名多少钱做哪个网站招出国打工的多
  • 百度企业网站建设费用广州网站建设的价格
  • 轻淘客cms建站教程自己建设一个网站需要多少钱
  • PS时文本框图层如何与图片图层水平中心对齐
  • php做网站python做什么网站建设基本流程及相应的技术
  • 中卫网站定制开发设计网站建设方案书 百度文库