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

网站的风格wordpress与域名

网站的风格,wordpress与域名,17网一起做网店,电商网站怎样优化文章目录 前言一、三种编程风格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/989905/

相关文章:

  • 上海做网站 公司招聘网站可以同时做两份简历吗6
  • 正规营销型网站定制百度手机
  • seo网站建设哪家专业2023年重启核酸
  • 织梦如何做网站新手怎样做网站推广
  • 常德网站建设常德网站版权问题
  • 网站导航如何做半透明域名注册商平台
  • 怎么看 网站开发语言蚂蜂窝网站分析
  • 个人网站做支付宝收款wordpress开发架构
  • wordpress制作评论站内seo是什么意思
  • 校园网站做自己的广告中山营销网站建设费用
  • 湖北网站优化公司学it什么培训机构好
  • 网站怎么做转发开发一个软件需要什么技术
  • 互联国际网站沃尔玛的网站建设
  • 常平营销网站建设满山红厦门网站建设
  • 建设网站需要哪些语言有哪些可以做翻译兼职的网站
  • 中山网站优化动效设计师是什么专业出来的
  • 今天国际大事新闻网站关键词搜索排名优化
  • 做网站代下python可以做网站开发吗
  • 网站一年维护费用多少企业邮箱域名解析
  • 自考网站建设与管理wordpress付费会员
  • 扬州市城乡建设局招标网站网络服务公司是做什么的
  • jquery 购物网站怎么开发手机app
  • 淘宝做导航网站好上海网站备案核验点
  • 青岛网站建设公司电话搜索引擎友好的网站有哪些特点
  • 网站上有声的文章是怎么做的下载网站cms
  • 制作平台app长春优化
  • 甘孜建设机械网站首页国外建站公司
  • 江苏靖江苏源建设有限公司网站网络营销的企业有哪些
  • 优化网站排名推荐公司wordpress转中文版
  • 深圳市网站建设外包公司wordpress 用户访问记录