应用API

作者: tenro | 来源:发表于2021-07-15 14:06 被阅读0次

应用API:

createApp({}): 返回一个应用实例

vue2: 
    import Vue from 'vue'
    new Vue({
        el: '#app',
        router,
        store,
        render: h => h(App)
    })


vue3:
    import { createApp } from 'vue';
    const app = createApp(App);
    app.mount("#app").use(router).use(store);

    或者

    import Vue from 'vue'
    const app = Vue.createApp(App);
    app.mount("#app").use(router).use(store);

component: 注册或检索全局组件

注册: 注册一个名为 button-counter 的新全局组件
app.component('button-counter', {
  data() {
    return {
      count: 0
    }
  },
  template: `
    <button @click="count++">
      You clicked me {{ count }} times.
    </button>`
})

config: 应用配置对象

app.config = {..}

directive: 自定义指令

// 注册
app.directive('my-directive', {
  // 指令是具有一组生命周期的钩子:
  // 在绑定元素的父组件挂载之前调用
  beforeMount() {},
  // 绑定元素的父组件挂载时调用
  mounted() {},
  // 在包含组件的 VNode 更新之前调用
  beforeUpdate() {},
  // 在包含组件的 VNode 及其子组件的 VNode 更新之后调用
  updated() {},
  // 在绑定元素的父组件卸载之前调用
  beforeUnmount() {},
  // 卸载绑定元素的父组件时调用
  unmounted() {}
})

// 注册 (功能指令)
app.directive('my-directive', () => {
  // 这将被作为 `mounted` 和 `updated` 调用
})

// getter, 如果已注册,则返回指令定义
const myDirective = app.directive('my-directive')

mixin: 全局混入(注意: 使用全局混入,它将影响每一个之后创建的组件)

app.mixin({
    created() {
        const myOption = this.$options.myOption
        if (myOption) {
            console.log(myOption)
        }
    }
})  
app.mount('#mixin-global')

mount: 将应用实例的根组件挂载在提供的DOM元素上

app.mount('#app')

unmount: 在提供的 DOM 元素上卸载应用实例的根组件

app.unmount('#app')

provide/inject: 多层级的组件嵌套,可以通过这对CP在想用的某个嵌套层级的组件使用,避免一层层去传递而增加代码量

//  基本使用方式
const app = Vue.createApp({})
app.component('todo-list', {
  data() {
    return {
      todos: ['Feed a cat', 'Buy tickets']
    }
  },
  // -----------提供
  provide: {
    user: 'John Doe'
  },
  template: `
    <div>
      {{ todos.length }}
      <!-- 模板的其余部分 -->
    </div>
  `
})
app.component('todo-list-statistics', {
    // ------------子组件注入
    inject: ['user'],
    created() {
       console.log(`Injected property: ${this.user}`) // > 注入 property: John Doe
    }
})


// 响应式式方案
app.component('todo-list', {
  provide() {
    return {
      // computed
      todoLength: Vue.computed(() => this.todos.length)
    }
  }
})

use: 引入插件

app.use(router)
app.use(store)

相关文章

  • Java基础语法_Day13

    一、API概述 API概念 API(Application Programming Interface) : 应用...

  • Web API

    Web API介绍 API的概念 API(Application Programming Interface,应用...

  • Java API及Object类

    1 Java 的API   Java 的API(API: Application(应用) Programming(...

  • AngularJS API+Bootstrap+包含

    AngularJS API API 意为 Application Programming Interface(应用...

  • 常用类 -- String

    API概述 什么是API API(Application Programming lnterface)意思为:应用...

  • 应用API

    应用API: createApp({}): 返回一个应用实例 component: 注册或检索全局组件 confi...

  • 应用API

    为了方便我将相关内容简记如下图: 更多相关原图和原始文件已上传GitHub,一来方便批量下载相关脑图,二来可以方便...

  • 二十四、Object类

    Java 的API(API: Application(应用) Programming(程序) Interface(...

  • Osi开放服务集成

    概述 应用列表使用Ams应用列表 查看日志列表http://localhost/osi/rest/api/{api...

  • 什么是API?

    API定义 API 就是 Application Programming Interface (应用 编程 接口)...

网友评论

      本文标题:应用API

      本文链接:https://www.haomeiwen.com/subject/bdnppltx.html