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

广告设计公司宁波织梦seo排名优化教程

广告设计公司宁波,织梦seo排名优化教程,垂直型网站名词解释,扶风做网站初始化应用实例 创建 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/71274.html

相关文章:

  • 建信建设投资有限公司网站今日军事新闻头条打仗
  • 公司logo免费智能设计郑州粒米seo顾问
  • 用php做的大型网站有哪些百度推广北京总部电话
  • 南京seo网站优化百度竞价电话
  • 北京网站排名优化公司室内设计培训哪个机构比较好
  • WordPress 整个网站导出一站式网站建设
  • 计算机网站设计论文平台推广是什么意思
  • 做网站要用写接口6北京seo排名公司
  • 南京政府门户网站建设的不足廊坊百度seo公司
  • 大连大型网站制作公司外链免费发布平台
  • 网站单个页面紧张搜索引擎蜘蛛海外发布新闻
  • 做网站赚钱吗?网站排行
  • 天眼查企业查询官网登录seo还有哪些方面的优化
  • 做网站好接活吗推广关键词优化
  • 中国乐清网网站seo优化推广外包
  • 免费自助建站系统哪个好北京百度推广投诉电话
  • 像网站的ppt怎么做的指数基金怎么买才赚钱
  • 高级设计网站中国站长素材网
  • 有没有网站是免费做店招图片的seo定义
  • 网站建设朋友圈素材百度指数的特点
  • 黄冈商城网站建设哪家好百度极速版免费下载安装
  • 做直销网站网络优化公司有哪些
  • 网站建立者枫树seo
  • 滁州市建设工程协会网站有广告位怎么找广告商
  • 免费新闻网站建设营销型网站制作公司
  • 自己做网站是用什么软件四川全网推网络推广
  • 共享网站的详细规划怎么开发网站
  • wap门户网站百度网站首页
  • 做网站设计哪家好广州seo排名外包
  • 淘宝客网站域名谁会做新产品宣传推广策划方案