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

电子商务基础网站建设免费推广的渠道有哪些

电子商务基础网站建设,免费推广的渠道有哪些,WordPress日主题pro,怎么做进入网站js特效初始化应用实例 创建 Vue 实例对象 createApp 中做了两件事: 创建 app 对象保存并重写 mount /*** 创建 Vue 实例对象*/ const createApp ((...args) > {// 1、创建 app 对象,延时创建渲染器,优点是当用户只依赖响应式包的时候&#xff0…

初始化应用实例

  1. 创建 Vue 实例对象

    createApp 中做了两件事:

    1. 创建 app 对象
    2. 保存并重写 mount
    /*** 创建 Vue 实例对象*/
    const createApp = ((...args) => {// 1、创建 app 对象,延时创建渲染器,优点是当用户只依赖响应式包的时候,可以通过 tree-shaking 移除核心渲染逻辑相关的代码,减少体积const app = ensureRenderer().createApp(...args)// 2、保存并重写 mountconst { mount } = appapp.mount = (containerOrSelector) => {// ...}return app
    })
    

    为什么需要重写 mount 方法,而不把相关逻辑放在 app 对象的 mount 方法内部来实现呢?

    答:因为 Vue 不仅仅是为 Web 平台服务,它的目标是支持跨平台渲染createApp 函数内部的 app.mount 方法是一个标准的可跨平台的组件渲染流程,因此需要根据具体场景进行定制化。

  2. 使用 ensureRenderer().createApp() 来创建 app 对象

    // 渲染相关的一些配置,比如:更新属性的方法,操作 DOM 的方法
    const rendererOptions = {patchProp,...nodeOps
    }let renderer
    /*** 检查是否存在渲染器*/
    function ensureRenderer() {return renderer || (renderer = createRenderer(rendererOptions))
    }
    /*** 创建渲染器*/
    function createRenderer(options) {return baseCreateRenderer(options)
    }
    /*** 创建渲染器的基本逻辑*/
    function baseCreateRenderer(options) {// 组件渲染的核心逻辑function render(vnode, container) {// ...}return {render,createApp: createAppAPI(render)}
    }
    /*** 创建应用实例的 API*/
    function createAppAPI(render) {// 创建应用实例,接收的两个参数:rootComponent - 根组件的对象 和 rootProps - props参数return function createApp(rootComponent, rootProps = null) {const app = {_component: rootComponent,_props: rootProps,// app.mount 组件挂载逻辑mount(rootContainer) {// 1、创建根组件的 vnodeconst vnode = createVNode(rootComponent, rootProps)// 2、利用渲染器渲染 vnoderender(vnode, rootContainer)// 3、设置应用实例的容器为根组件的容器app._container = rootContainerreturn vnode.component.proxy}}return app}
    }
    
  3. 重写 app.mount 方法

    /*** 重写 app.mount 方法* 重写的目的:* 1、让用户可以更灵活的使用 API* 2、兼容 Vue2 的写法*/
    app.mount = (containerOrSelector) => {// 1、标准化容器,可以传字符串选择器或 DOM 对象,如果传的是字符串选择器则会将其转换为 DOM 对象作为最终挂载的容器const container = normalizeContainer(containerOrSelector)if (!container) returnconst component = app._component// 2、如果组件对象没有定义 render 函数和 template 模板,则取容器的 innerHTML 作为组件模板内容if (!isFunction(component) && !component.render && !component.template) {component.template = container.innerHTML}// 3、挂载前清空容器内容container.innerHTML = ''// 4、真正的挂载return mount(container)
    }
    
http://www.mnyf.cn/news/48685.html

相关文章:

  • 定制家具网站建设seo站内优化公司
  • 网站视频与服务器的关系全网营销推广靠谱吗
  • 企业网站首页flash在线网站流量查询
  • wordpress 首页动画临沂seo建站
  • 柳州网站虚拟主机公司腾讯云1元域名
  • 公司电商网站开发合同世界足球排名前十名
  • 做网站体会关键词完整版免费听
  • dede手机wap网站模板百度指数在哪里看
  • joomla 1.5 网站建设基础教程网络营销主要特点有哪些
  • dnf免做卡网站今天最新新闻摘抄
  • 上海哪家做网站关键词排名近三年成功的营销案例
  • 怎么做网站加载动画创建网站免费
  • wordpress图片插件放大seo基本步骤
  • 做网站需要多少钱济宁网络推广哪家好
  • 延安城乡建设规划局网站网络营销策略研究论文
  • 网站建设信息公开和解读回应网络推广有哪几种方法
  • 网站如何做关健词收录seo点击软件哪个好用
  • 视频网站X站H站搭建建设国外免费网站服务器
  • 防止网站流量被刷网站不收录怎么办
  • 最新首码项目发布网网站优化推广方案
  • 网站建设交流论坛成都网站建设技术支持
  • 今日重庆杂志社余姚网站如何进行优化
  • 黄骅做网站_黄骅昊信科技|黄骅网站|黄骅网站开发|黄骅微信|黄骅上海优化公司有哪些
  • 做网站英文怎么说专业代写软文
  • 上海人才网官网站首页做seo必须有网站吗
  • 一个网站值多少钱广州市口碑seo推广外包
  • 网站短信验证怎么做网络营销课程个人总结范文
  • 海口小程序开发西安网站建设推广优化
  • magento做的网站百度客服人工服务
  • 如何建设自己的网站申请自己的网站