cdn 方式构建的 vue 项目怎么自定义组件及复用
用脚手架的项目,.vue 单组件文件可以导入实现复用。 那 cdn 方式的项目怎么搞? 想了想可以把组件选项写在 js 文件中 然后用到的时候引用一下 js 文件进行组件注册?
用脚手架的项目,.vue 单组件文件可以导入实现复用。 那 cdn 方式的项目怎么搞? 想了想可以把组件选项写在 js 文件中 然后用到的时候引用一下 js 文件进行组件注册?
function Test() {
return {
template: ‘<div @click=”handle”>{{data}}</div>’,
data: function () {
return {
data: 1
};
},
methods: {
handle(){
this.data+=5;
}
}
}
}
index.html
<div id=”app”>
<Child></Child>
</div>
<script>
// 注册
var Child = Test();
Vue.component(‘course-sort’, Test())
// 创建根实例
new Vue({
el: ‘#app’,
components: {
Child
}
})
</script>
或者直接写 es6 模块, 直接 import, 兼容性差点
假定你不想要编译,在 html 页面中直接加载使用 vue 组件,可以参考下面项目:
https://gitee.com/tengzhinei/Vue-rap
https://gitee.com/haimadongli001/jQuery.Vue.js
https://i.loli.net/2020/11/24/2TWwhqMQGSrvPEz.jpg
“一个页面根据不同标签页切换显示不同的 view ”,不太确定你说的是不是类似 vant 里面的 tab 标签页功能:
https://youzan.github.io/vant/#/zh-CN/tab
tab 标签页的话比较好实现,页面内用一个变量简单控制不同内容的展示即可(v-if 或 v-show),在点击标签按钮时更改这个变量的值,就会自动切换。
如果你说的“一个页面根据不同标签页切换显示不同的 view ”是指 Vue-rap 里的 layout,可以用公共组件+状态变量来实现。参考 menu.vue ,这个组件监测 menu_active 值的变化。其他引用此组件的页面,在各个页面 mounted 事件中通过 store.set_menu_active 函数修改 menu_active 的值。这样 menu.vue 组件就会自动菜单状态。
而 menu.vue 里面,则可以通过 v-link=”‘pages/main'”来控制跳转到不同的页面。