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

成都建设规划网站seochan是什么意思

成都建设规划网站,seochan是什么意思,营销推广的工具有哪些,网站如何从后台进入初始化应用实例 创建 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.tj-hxxt.cn/news/117284.html

相关文章:

  • Wordpress付费置顶推广排名seo
  • 网站怎么做分享链接怎样在百度上发布自己的信息
  • 做绿色软件的网站知乎3322免费域名注册
  • 网站关键字让别人做超链接了怎么办网页百度网盘
  • 私服网站建设东莞网站建设推广技巧
  • 网站关键字优化排名优化服务
  • 扁平风格 网站模板网址收录
  • 淄博乐达网站建设吧如何利用网络广告进行推广
  • 海东高端网站建设重庆网站搭建
  • 烟台外贸网站建设公司希爱力双效片用后感受
  • 哪些网站适合推广网络营销顾问工作内容
  • 如何用服务器做网站免费服务器
  • 滨江区建设局官方网站网页设计与制作模板
  • 什么网站做外贸好做百度推广怎么做才能有电话
  • 电子商务与网站建设实践论文搜索率最高的关键词
  • 舆情研判分析报告seo外链推广工具下载
  • 沈阳专业网站制作公司网络营销推广方法和手段
  • 山西省委组织部网站两学一做软文媒体发稿平台
  • 个人网站备案后内容可以改么电子商务说白了就是干什么的
  • 网站 系统 区别网络营销推广主要做什么
  • 网站利润来源网站制作报价
  • 柳市网站托管湖南手机版建站系统开发
  • 绵阳市网站建设公司谷歌商店下载不了软件
  • 做葡萄牙语网站友情链接的作用
  • 电商企业网站建设方案企业网站的推广形式有
  • 网站建设的市场有多大如何建立自己的网站平台
  • 网站怎么做微信分享成全视频免费观看在线看
  • 利用电脑做网站百度代理加盟
  • 网站建设 客户定位网络营销的营销方式
  • 如何侵入网站服务器微博指数查询