组合式 API 的优势

组合式 API 的优势

目标:掌握组合式 API 相比较选择 API 他的优势是什么

在选项式API中,它将数据和逻辑进行了分离,所有不相关的数据被放置在了一起,所以不相关的逻辑被放置在了一起,随着应用规模的增加,项目将会变得越来越难以维护。

export default {
  data: {
    // A...
    // B...
  	// C...
  },
  methods: {
    // A...
    // B...
  	// C...
  },
  computed: {
    // A...
    // B...
  	// C...
  },
  watch: {
    // A...
    // B...
  	// C...
  },
  directives: {
    // A...
    // B...
  	// C...
  }
}

在这里插入图片描述
在组合式 API 中 他把同一个功能的逻辑和数据发到一起 使同一个的功能和代码更加居合

export default {
  setup () {
    // 属性
    // 方法
    // 计算属性
    // 数据监听
    // ......
  }
}
export default {
  setup () {
    // A...
    // B...
    // C...
  }
}

在这里插入图片描述
同一个功能的代码可以被抽取到单独的文件中 使应用代码更加维护

export default {
	setup(){
		useFunc_1();
		useFunc_2();
	}
}
function useFunc_1() {}
function useFunc_2() {}

在这里插入图片描述

组合式 API 入口

目标:掌握 setup 函数的基本使用

  1. 讲解 setup 函数的执行时机以及 this
  2. 讲解 setup 函数的返回值的作用以及注意事

setup 函数是一个新的组件选择

export default {
  setup () {}
}

setup 函数在任何生命周期函数之前执行,且函数内部 thisundefined,它不绑定组件实例对象

export default {
  setup() {
    console.log(this) // 1. undefined
  },
  beforeCreate() {
    console.log("before create") // 2. before create
  },
}

setup 函数的返回值必须是对象,对象中的属性会被添加到组件实例对象中,所以它们可以在其他选项和模板中使用

export default {
  setup() {
    let name = "张三"
    let age = 20
    return { name, age }
  },
  beforeCreate() {
    console.log(this.name);
  },
}

注意:在 setup 方法中声明的变量虽然可以在模板中显示,但它不是响应式数据,就是说当数据发生变化后视图不会更新。

 export default {
    setup() {
      let name = "张三"
      let age = 20
      const onClickHandler = () => {
        name = "李四"
        age = 30
      }
      return { name, age, onClickHandler }
    }
  }
  <template>
    {{ name }} | {{ age }} 
  	<button @click="onClickHandler">button</button>
  </template>
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值