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

本地合肥网站建设公司网址怎么做出来的

本地合肥网站建设,公司网址怎么做出来的,做全景图的网站,纪检网站建设动态主题文章目录 前言一、三种编程风格1.template2.jsx/tsx3.函数式编写风格 二、函数式编程1.使用场景2.参数3.例子3.render渲染函数 总结 前言 本文主要记录vue3中的函数式编程以及其他编程风格的简介 一、三种编程风格 1.template Vue 使用一种基于 HTML 的模板语法,…

文章目录

  • 前言
  • 一、三种编程风格
    • 1.template
    • 2.jsx/tsx
    • 3.函数式编写风格
  • 二、函数式编程
    • 1.使用场景
    • 2.参数
    • 3.例子
    • 3.render渲染函数
  • 总结


前言

本文主要记录vue3中的函数式编程以及其他编程风格的简介


一、三种编程风格

1.template

Vue 使用一种基于 HTML 的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上。所有的 Vue 模板都是语法层面合法的 HTML,可以被符合规范的浏览器和 HTML 解析器解析。
也就是HTML的书写方式。

 <template><div><template v-if="reverse"><div class="bar">Bar DOM...</div><div class="foo">Foo DOM...</div></template><template v-else><div class="foo">Foo DOM...</div><div class="bar">Bar DOM...</div></template></div></template>

2.jsx/tsx

这是一种DOM标签和JS混用的方式,对DOM操作更加灵活,发挥出JS的完全编程能力,但是需要手动实现渲染优化,Vue在模板语法中做的优化在此方式中不适用
如:根据 props 上的 reverse 属性,来决定是否要调换两块内容的渲染顺序。

jsx:

const renderContent = () => {const Content = [<div class="foo">Foo DOM...</div>,<div class="bar">Bar DOM...</div>,];if (props.reverse) {Content.reverse();}return <div>{Content}</div>;}

template:

<template><div><template v-if="reverse"><div class="bar">Bar DOM...</div><div class="foo">Foo DOM...</div></template><template v-else><div class="foo">Foo DOM...</div><div class="bar">Bar DOM...</div></template></div></template>

3.函数式编写风格

vue中提供了h函数,h 函数是一个重载函数,支持多种调用方式,但在内部会处理为符合 createVNode 函数的入参,然后交给 createVNode 来创建虚拟 DOM。在此可以利用vue3提供的render函数将此虚拟DOM创建成真实DOM并挂载到指定结点。
可以直接跳过模板的编译过程

parser函数 -> ast抽象语法树 -> transform -> js 可描述api -> generate生成 -> render

<div><span>1</span></div>

转换函数式为:

let render = () =>{return h('div),{},[h('span),{},'1']}

二、函数式编程

1.使用场景

封装一些小组件(弹窗、按钮等)

2.参数

h 函数有三个参数

  • 第一个是创建的结点
  • 第二个是节点属性
  • 第三个是节点内容

3.例子

代码如下(示例):

interface Props {type: 'success' | 'error'
}
const Btn = (props:Props,ctx:any) =>{return h('button',{style: {color:props.type === 'success'? 'green': 'red'},onClick:()=>{ctx.emit('click','smz')console.log('点击了按钮',props.type)}},ctx.slots.default())
}
<template>
<Btn type="success">编辑</Btn><Btn type="error">删除</Btn>
</template>

3.render渲染函数

该函数由vue内部提供,可以将标签或者虚拟DOM转换成真实DOM并挂载到指定结点
该函数接收两个参数:

  • 标签或虚拟dom
    当该参数为null时,会将此组件移除
  • 挂载结点

例子:(提示组件)

export const message = (message, duration = 2000) =>{const handleDestroy = () =>{render(null,document.body)}const vNode = h('messageComponent',{style:{width: '200px',height: '100px',border: '2px solid',float: 'left',position: 'relative',left: '50%','margin-left': '-50px'},message,duration,destroy:handleDestroy},message)render(vNode,document.body);(function () {setTimeout(()=>render(null,document.body),duration)})()
}

使用:直接以API的形式调用

const messages = () =>{message('这是一个提示窗')
}

弹窗提示


总结

以上就是三种编码风格以及vue3中h函数和render函数的简单实用。

http://www.yayakq.cn/news/238404/

相关文章:

  • 多平台网站设计实例网站模板和源码区别
  • 网站数据统计工具开发公司可以注册一造吗
  • 什么是网站降权处理支持采集wordpress附件上传
  • 想做网站运营专员网站的标签怎么修改
  • 做零售外贸网站有哪些win7下使用wordpress
  • 网站建设 手机app和创互联的网站是多少
  • 提供网站建设公免费制作婚介网站
  • 新乡市建设路小学网站企业建设项目哪个网站可以查
  • 网站的建设工具实施过程中铁建设集团门户网官网
  • 东城手机网站建设新乡网站建设哪家实力强
  • 黄岛开发区网站制作科技是第一生产力
  • 电商网站建设思路电影制作专业
  • 怎么为网站网页注册免费网址网站建设系统公司地址
  • 做韩国网站有哪些东西吗长沙水业网站是哪家公司做的
  • 宜昌微网站建设工作细胞第二季
  • 企业网站建设费在会计上企业网站托管价格
  • 软件技术跟网站开发有关系吗潍坊网站排名优化
  • 可以做本地生活服务的有哪些网站酒店宾馆型网站开发
  • 网站自然排名怎么优化Wordpress ajax 相册
  • 给城市建设提议献策的网站一般app开发费用多少
  • wordpress 首页布局seo推广是什么
  • 北郊网站建设公司有哪些企业可以做招聘的网站有哪些
  • 做百度移动网站优化排山西太原小店区最新消息
  • 网站seo方案建设目标平台网站建设制作
  • 龙华做棋牌网站建设多少钱青岛营销型网站建设
  • 网站开发时间段长沙 网站开发报价
  • 厦门市思明区建设局网站广州继续教育平台登录入口
  • gta5网站显示建设中网站建设内链
  • 校园网站建设申请报告wordpress修改默认头像
  • 合肥 做网站的请人制作一个网站需要多少钱