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

文档网站超链接怎么做网络推广项目代理

文档网站超链接怎么做,网络推广项目代理,网站seo优化关键词快速排名上首页,wordpress 添加特色图像商品列表 文章目录 商品列表核心步骤创建组件 1. MyTag组件详细步骤双击显示,自动聚焦失去焦点,隐藏输入框回显标签信息回车修修改内容,同时隐藏输入框 MyTable组件详细步骤1-动态的设置整个表格的数据 : props2-实现自定义结构-插…

商品列表


文章目录

  • 商品列表
      • 核心步骤
      • 创建组件
    • 1. MyTag组件详细步骤
      • 双击显示,自动聚焦
      • 失去焦点,隐藏输入框
      • 回显标签信息
      • 回车修修改内容,同时隐藏输入框
    • MyTable组件详细步骤
      • 1-动态的设置整个表格的数据 : props
      • 2-实现自定义结构-插槽
          • 1-表头自定义
          • 2-主体定制
    • 完整代码
          • App.vue组件
          • MyTab.vue组件
          • MyTable组件
    • 最终效果图:

在这里插入图片描述

核心步骤

MyTag 组件的封装

  1. 创建组件 → 初始化

  2. 实现功能

    (1)双击显示,并开启自动聚焦

​ 1. v-if v-else @dblclick

​ 2. 通过注册全局的自定义指令获取焦点 focus

(2)失去焦点的时候,隐藏输入框

​ 1. 然后使用@blur失去焦点隐藏

(3)回显标签信息

  1. 回显的标签信息是父组件传递过来的

      2. 使用 v-model 实现功能(简化代码)3. v-model ===> :value  和 @input
    

    (4)内容修改了,回车 → 修改标签信息

​ 1. @keyup.enter ,触发了回车事件 执行 $emit(‘input’,e.target.value)

​ 2. 然后父组件中的 v-model 底层的 @input自动帮我们执行数据渲染回显


My-Table 表格组件的封装

  1. 数据不能写死,需要动态的传递表格渲染数据

​ 使用: props

  1. 结构不能写死 → 多处结构实现自定义 → 具名插槽

    (1) 表头需要支持自定义

    (2) 主体支持自定义


创建组件

  1. 创建组件 → 初始化

在这里插入图片描述

1.导入
import MyTag from './components/MyTag.vue'
import MyTable from './components./Mytable.vue'2. 注册
components: {MyTag,MyTable
}3. 使用
<MyTag></MyTag>
<MyTable></MyTable>

1. MyTag组件详细步骤

双击显示,自动聚焦

1.双击显示

1.双击显示   
<div v-else @dblclick="handleedit" class="text">{{ value }}</div>//提供以下方法handleedit() {// 双击切换到显示状态this.isShow = true;},

2 自动聚焦

2.自动聚焦
// 封装全局自定义指令(实现获取焦点),当然可以使用$nextTick解决同步Vue的问题,达到异步更新效果
Vue.directive('focus', {// el 是我们指令所在的dom元素inserted (el) {el.focus()}
})

在这里插入图片描述


失去焦点,隐藏输入框

  1. 失去焦点,隐藏输入框

    使用blur事件失去焦点,然后将isShow改为false
    @blur="isShow = false"
    

回显标签信息

在我们双击了触发了编辑功能后,显示了输入框,然后再自动获得focus。

  • 现在我们需要回显了
  1. 使用v-model将父组件的值传递过来

  2. 然后子组件使用 props 接受 进行操作

  3. 给组件绑定 v-model 指令

    <MyTag v-model="item.tag"></MyTag>
    
  4. props接收数据,并回显渲染

    1. props接收数据// 接收父组件传过来的数据  :valueprops: {value: String,},2. 回显渲染//将数据动态的赋值给我们的需要显示的标签:value="value"
    

    回车修修改内容,同时隐藏输入框

    1. 绑定回车事件 @keyup.enter=“方法名”
    @keyup.enter="handleEnter"
    
    1. 提供对应方法: handleEnter()
    1. 通过$emit('事件名',传递的值) 通知父组件
    methods: {handleEnter (e) {//子传父,将获取到的输入框给父组件,通知他修改渲染标签if (e.target.value.trim() === '') {alert('修改的内容不能为空')return //通过 input事件 同志父组件监听,并修改输入框内容this.$emit('input',e.target.value)}}
    }
    2. 回车后,输入框隐藏
    this.isShow = false
    

    到此,我们的编辑功能组件实现完毕


MyTable组件详细步骤

1-动态的设置整个表格的数据 : props

  1. 数据在App.vue中,使用父传子实现

    1. 动态的属性传递数据
    <MyTable :data="item.goods"></MyTable>2. 接收数据
    props: {data: {type: Array,required: true  控制判断}
    }
    

2-实现自定义结构-插槽

  1. 表头自定义
  2. 主体自定义
  • 目的是为了,我们能够灵活的实现结构和数据对应

  • 记得在相应的组件中使用 : 占好位置
1-表头自定义
1.表头自定义:切记使用具名插槽,因为我们需要在定制的时候,用到相互之间的数据。    
<!-- 使用插槽动态的定制了表头结构 --><template #head><th>编号</th><th>名称</th><th>图片</th><th width="100px">标签</th></template>

在这里插入图片描述

2-主体定制
2. 主体定制:同样的使用具名插槽,需要制定并且传递该组件的数据   
<!-- 使用插槽作用域传递值,定制主体的内容 --><template #body="{ item, index }"><td>{{ index + 1 }}</td><td>{{ item.name }}</td><td><img :src="item.picture" /></td><td><MyTag v-model="item.tag"></MyTag></td></template>

在这里插入图片描述

编辑渲染功能和自定义结构功能就实现完毕了


完整代码

App.vue组件
<template><div class="table-case"><MyTable :data="goods"><!-- 使用插槽动态的定制了表头结构 --><template #head><th>编号</th><th>名称</th><th>图片</th><th width="100px">标签</th></template><!-- 使用插槽作用域传递值,定制主体的内容 --><template #body="{ item, index }"><td>{{ index + 1 }}</td><td>{{ item.name }}</td><td><img :src="item.picture" /></td><td><MyTag v-model="item.tag"></MyTag></td></template></MyTable></div>
</template>--------------------------------------------------------
<script>
export default{
import MyTag from './components/MyTag.vue'
import MyTable from "./components/MyTable.vue";
export default {// 2.注册组件components: {MyTag,MyTable,},name: "TableCase",data() {return {tempText: "水杯",tempText2: "钢笔",goods: [{id: 101,picture:"https://yanxuan-item.nosdn.127.net/f8c37ffa41ab1eb84bff499e1f6acfc7.jpg",name: "梨皮朱泥三绝清代小品壶经典款紫砂壶",tag: "茶具",},{id: 102,picture:"https://yanxuan-item.nosdn.127.net/221317c85274a188174352474b859d7b.jpg",name: "全防水HABU旋钮牛皮户外徒步鞋山宁泰抗菌",tag: "男鞋",},{id: 103,picture:"https://yanxuan-item.nosdn.127.net/cd4b840751ef4f7505c85004f0bebcb5.png",name: "毛茸茸小熊出没,儿童羊羔绒背心73-90cm",tag: "儿童服饰",},{id: 104,picture:"https://yanxuan-item.nosdn.127.net/56eb25a38d7a630e76a608a9360eec6b.jpg",name: "基础百搭,儿童套头针织毛衣1-9岁",tag: "儿童服饰",},],};},
};
</script>

MyTab.vue组件
<template><div class="my-tag"><inputv-if="isShow"v-focus@blur="isShow = false":value="value"@keyup.enter="handleEnter"class="input"type="text"placeholder="输入标签"/><div v-else @dblclick="handleedit" class="text">{{ value }}</div></div>
</template>---------------------------------------------------<script>
export default {// 接收父组件传过来的数据  :valueprops: {value: String,},data() {return {isShow: false,};},methods: {handleedit() {// 双击切换到显示状态this.isShow = true},handleEnter(e) {// 子传父,将{输入框的内容}传递给我们的父组件,通知他叫他渲染//   由于父组件是  v-model  所以触发事件为  @inputif (e.target.value.trim() === "") return alert("修改内容不能为空")this.$emit("input", e.target.value)//   回车后输入框隐藏this.isShow = false},},
};
</script>

MyTable组件
<template><table class="my-table"><thead><tr><slot name="head"></slot></tr></thead><tbody><tr v-for="(item,index) in data" :key="item.id"><slot name="body" :item = item :index = index></slot></tr></tbody></table>
</template>----------------------------------------------------<script>
export default {props: {data: {type: Array,required: true}}
}
</script>

最终效果图:

在这里插入图片描述


http://www.hkea.cn/news/248391/

相关文章:

  • 2017网站开发前景百度网盘资源链接入口
  • 平面广告设计主题seo是怎么优化上去
  • 正规网站制作公司哪家好四年级写一小段新闻
  • 济南网站建设安卓版快手seo
  • java开发兼职网站开发线上推广平台
  • 北京网站建设开发公司网站自动收录
  • wordpress最多多少用户seo基础知识
  • 湘潭做网站 去磐石网络b站推出的短视频app哪个好
  • 宿迁做网站的公司有人看片吗免费观看视频
  • 什么人最需要建设网站淘宝运营一般要学多久
  • 海南网站优化东莞免费建站公司
  • 传播型网站建设优势有哪些推广类软文
  • 如何在百度做网站推广赚钱的软件
  • c# 网站开发教程周口网站seo
  • 湘西网站建设帮人推广注册app的平台
  • 切图做网站web制作网站的模板
  • 网站的做网站公司哪家好网络优化大师app
  • 国内外包网站今日头条(官方版本)
  • 外网建筑设计网站线上渠道推广有哪些方式
  • 厦门做网站公司排名电工培训机构
  • 武汉网站设计制作外包公司的人好跳槽吗
  • 网站建设哪里最好页面关键词优化
  • 清远建设网站制作seo系统培训课程
  • 网站的网页建设知识ppt北大青鸟职业技术学院简介
  • 巫山网站设计aso优化榜单
  • 关于节约化建设网站的表态发言网站制作报价表
  • 建行网站是多少呢故事式的软文广告例子
  • 阳江市住房和城乡规划建设局网站一级消防工程师考试
  • 做课件的网站有哪些用html制作淘宝网页
  • 网站开发前后台整个流程品牌宣传的推广