vue项目 抽离出script标签里的逻辑代码

1.需求:

.vue文件的template内容较多,不便于开发,写逻辑和样式的时候要翻很久,此时将script逻辑代码抽离就可解决这一问题

通常情况下,在单 .vue 文件开发很方便,但是当业务逻辑起来了,那么经常需要修改 script 和 template 部分,用编辑器分屏也不是那么好操作,故有了组件 script 分离

2.实现

// UserInfo.vue页面
<template>
    <div>
       姓名:{{userInfo.name}}
    </div>
</template>

<script>
import index from './index'
export default index
</script>
// 同级创建index.js
export default {
  name: "UserInfo",
  data(){
    return {
      userInfo: {
      	name: "张三"
      }
    }
  }
}

参考文章:https://nowtime.cc/vue/1524.html

Vue 3 中,要将城市组件抽离出来,可以按照以下步骤操作: 1. 创建一个新的单文件组件(SFC)用来表示城市组件。可以使用 `.vue` 后缀的文件,例如 `City.vue`。 2. 在 `City.vue` 文件中,编写城市组件的模板、样式和逻辑。 3. 将原始页面中的城市相关的代码复制到 `City.vue` 组件中。 4. 将相关的数据和方法从原始页面中传递到 `City.vue` 组件中。可以通过 `props` 属性将数据传递给子组件,或者使用 `emit` 事件来与父组件通信。 5. 在原始页面中使用 `<City>` 标签来引入并使用抽离出的城市组件。 例如,假设原始页面为 `Home.vue`,你想将城市组件抽离为 `City.vue`。以下是一个简单的示例: **City.vue** ```vue <template> <div> <h2>{{ cityName }}</h2> <button @click="changeCity('New York')">Change City</button> </div> </template> <script> export default { props: { cityName: { type: String, required: true } }, methods: { changeCity(newCity) { this.$emit('cityChanged', newCity); } } } </script> <style scoped> /* 样式 */ </style> ``` **Home.vue** ```vue <template> <div> <h1>Home</h1> <City :city-name="city" @city-changed="updateCity"></City> </div> </template> <script> import City from './City.vue'; export default { components: { City }, data() { return { city: 'London' } }, methods: { updateCity(newCity) { this.city = newCity; } } } </script> <style scoped> /* 样式 */ </style> ``` 在以上示例中,我们将城市组件的模板、样式和逻辑从原始页面 `Home.vue` 中抽离出来,并将数据和方法通过 `props` 和 `emit` 进行传递。使用 `<City>` 标签来引入并使用城市组件。 希望这个示例能帮助到你抽离 Vue 3 中的城市组件!如果有任何问题,请随时向我提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值