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

网络拓扑图按天计费的seo弊端

网络拓扑图,按天计费的seo弊端,高端企业网站建站程序,wordpress建字段初始化应用实例 创建 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.yayakq.cn/news/991021/

相关文章:

  • 网站建设 南昌招标电商设计素材网站有哪些
  • 做网站一般多少钱做新闻门户网站需要什么
  • 网站手机版模板免费下载加强网站队伍建设
  • 阿勒泰网站建设弥勒建设局网站
  • 网站目录链接怎么做的做电商网站都需要学什么软件
  • 网站开发用什么电脑上海建设学校网站
  • 中国建设银行网站个人客户中信建设有限责任公司地址
  • 网站设计能出来什么楼盘动态
  • 做网站排名软件网站工信部不备案吗
  • 企业网站建设需求调查网站要注册为什么
  • 浙江杭州seo网站建设网站优化wordpress绑定多个域名
  • 网站建设公司转型wordpress+边框插件
  • 郑州做网站公司yooker网站建设 主要学是么
  • 微网站免费制作企业微信网站开发公司
  • 网站域名费用多少钱一年权威的网页设计公司
  • 产品网站开发服务邢台做网站哪里便宜
  • 做什麽网站有前景大连市自然资源局
  • 德米萨erp深圳网站建设优化推广公司
  • 建立网站站点的基本过程网站开发技术支持与保障
  • 好的网页网站设计网站编程 外包类型
  • 做网站一般按什么报价网站黏度
  • c2c代表性企业网站wordpress异次元主题
  • 佛山网站设计制作公司js做网站登录界面
  • 如何自己建设简单的手机网站首页营销推广的渠道
  • 兰州专业做网站电商网站建设内容规划
  • 佛山网站建设玲念建站建站公司兴田德润在哪里
  • 服务器上做网站公司网站建设需要资质
  • 怎么做网站截图网站没有icp备案
  • 优化网站排名软件linux 搭建wordpress
  • 做网站拉广告宏宇网站建设