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

设计作品欣赏网站wordpress 嵌入 php代码

设计作品欣赏网站,wordpress 嵌入 php代码,平面设计学院,创世网站建设 优帮云1、自定义组件,并使用 v-model 进行数据双向绑定。 简述: 自定义组件使用 v-model 进行传参时,遵循 Vue 3 的 v-model 机制。在 Vue 3 中,v-model 默认使用了 modelValue 作为 prop 名称,以及 update:modelValue 作为…

1、自定义组件,并使用 v-model 进行数据双向绑定。

简述: 自定义组件使用 v-model 进行传参时,遵循 Vue 3 的 v-model 机制。在 Vue 3 中,v-model 默认使用了 modelValue 作为 prop 名称,以及 update:modelValue 作为事件名称。

例子:
首先,我们创建一个自定义组件 MyInput.vue,该组件使用 <script setup> 语法,并允许通过 v-model 绑定值:

<!-- MyInput.vue -->  
<template>  <input :value="modelValue" @input="updateValue" />  
</template>  <script setup>  
import { defineProps, defineEmits, ref } from 'vue';  const props = defineProps({  modelValue: String  
});  const emit = defineEmits(['update:modelValue']);  const updateValue = (event) => {  emit('update:modelValue', event.target.value);  
};  
</script>

在这个例子中,使用了 defineProps 来定义 modelValue prop,它对应于 v-model 绑定的值。同时,我们使用 defineEmits 来声明 update:modelValue 事件,该事件将在输入框的值变化时被触发。

接下来,在父组件中使用这个自定义组件,并通过 v-model 绑定一个数据属性:

<!-- ParentComponent.vue -->  
<template>  <div>  <p>Value in Parent: {{ inputValue }}</p>  <MyInput v-model="inputValue" />  </div>  
</template>  <script setup>  
import { ref } from 'vue';  
import MyInput from './MyInput.vue';  const inputValue = ref('');  
</script>

在父组件中,导入了自定义的 MyInput 组件,并使用 v-modelinputValue 绑定到该组件的 modelValue prop 上。当 MyInput 组件中的输入框值变化时,它会触发 update:modelValue 事件,进而更新父组件中的 inputValue

注意,在 <script setup> 中,不需要显式地返回任何东西给模板,因为所有的响应式状态(通过 refreactive 创建)和函数都会自动暴露给模板。这使得代码更加简洁和直观。

2、异步加载动态组件
  ├─ src              │  ├─ components              │  │  ├─ ChartA.vue         │  │  ├─ ChartB.vue        │  │  └─ ChartC.vue       │  └─ test-async.vue └─ package.json                       
异步加载组件

方式一:


<template><AsyncOne />
</template><script setup>
import { defineAsyncComponent } from "vue";const AsyncOne = defineAsyncComponent(() =>import("@/components/ChartA.vue")
);
</script>

方法二:vue3+vite5 中


<template><AsyncTwo/>
</template><script setup>
import { defineAsyncComponent, ref } from "vue";const AsyncTwo = ref(null);
AsyncTwo.value = registerComponent("/ChartC");// 使用异步组件的方式加载组件
const registerComponent = (componentPath) => {const modules = import.meta.glob("./components/**/*.{vue,tsx}");for (const item in modules) {if (item.includes(componentPath)) {return defineAsyncComponent(modules[item]);}}
};
</script>
异步加载动态组件
<template><div v-for="(item, index) in componentsInfo" :key="index"><component :is="item.loadComp" /></div>
</template><script setup>
import { defineAsyncComponent, onMounted, ref } from "vue";const componentsInfo = ref([{id: "1-1",title: "图表A",component: "/ChartA",},{id: "1-2",title: "图表B",component: "/ChartB",},{id: "1-3",title: "图表C",component: "/ChartC",},
]);onMounted(() => {processLoad(componentsInfo.value);
});const processLoad = (info) => {for (let i = 0; i < info.length; i++) {let item = info[i];if (!item.component) {continue;}let resComp = registerComponent(item.component);item.loadComp = resComp;}
};// 注册一个异步组件
const registerComponent = (componentPath) => {//获取 src/components 文件夹下所有组件const modules = import.meta.glob("./components/**/*.{vue,tsx}"); for (const item in modules) {if (item.includes(componentPath)) {return defineAsyncComponent(modules[item]);}}
};
</script>

效果:
在这里插入图片描述

3、
http://www.yayakq.cn/news/581998/

相关文章:

  • 深圳网站开发工资.我爱你 网站
  • 唐河县住房和城乡建设局网站上海高端设计公司
  • 济南网站建设工作室开发公司副总经理岗位职责
  • 手机显示的网站该怎样设计桂林紧急通知
  • 洛阳直播网站建设外贸企业官网建站
  • 山东省建设项目备案证明网站做网站推广前途
  • 网站的首屏 一屏 二屏是什么意思百度权重排名高的网站
  • 工业设计网站哪家好建设电子商务网站的步骤
  • 深圳做网站那里好建设网站企业网上银行
  • 家庭安全卫士论坛WordPress自己的网站什么做优化
  • PHP网站开发与管理设计心得传奇单职业手机版
  • 哪个网站做logo如何做网站活动封面
  • 承包工地的网站手表网站布局
  • 效能建设网站成都 网站建设培训
  • 简约大气网站首页上海网页制作公司 酒店
  • wordpress数字链接出现404河南网络优化服务
  • 对接标准做好门户网站建设网络公司经营范围怎么填写
  • 青海城乡住房和建设厅网站wordpress如何添加商桥
  • 网站开发合同注意事项网站免费的有没有
  • 如何查询网站备案号网站建设与维护 技能
  • 手机网站报价单模板wordpress自定义数据
  • 海南专业网站建设网络推广沈阳
  • 做网站能用思源黑体吗厦门电子商务网站建设
  • 免费做网站建设长春做网站公司长春网站排名
  • 网站模板和后台网站建设 国际 深圳
  • 杭州做宠物网站的公司男女生做爰视频网站
  • WordPress建站如何解析长春网络推广服务
  • 河池网站优化园林绿化网站建设
  • 中国空间站天宫课堂快速做网站前端的视频教程
  • 做网站需要后台吗网站流量被用完了