const copyRightComponent = {
template:`
`,
setup(props, context) {
console.log('copyRight组件加载完毕');
// console.log(props);
},
props:{
path:'',
web_name:'',
}, //配置需要传入的属性
delimiters: ['{[', ']}'],//delimiters:改变默认的插值符号
};
const footButtonComponent = {
template: `
`,
setup(props, context) {
console.log('footButton组件加载完毕');
// console.log(props);
},
props:{}, //配置需要传入的属性
delimiters: ['{[', ']}'],//delimiters:改变默认的插值符号
};
const notePopup = {
template: `
`,
setup(props, context) {
console.log('notePopup组件加载完毕');
// console.log(props);
},
props:{
path:'',
url:'',
}, //配置需要传入的属性
delimiters: ['{[', ']}'],//delimiters:改变默认的插值符号
};
const stuHeaderComponent = {
template: `
`,
setup(props, context) {
console.log('stuHeader组件加载完毕');
// console.log(props);
},
props:{
ctx:{},
items:{class:[],list:[]},
hotsuggs:{data:[]},
tid:String,
is_home:Boolean,
}, //配置需要传入的属性
delimiters: ['{[', ']}'],//delimiters:改变默认的插值符号
};
const stuCategoryComponent = {
template: `
`,
setup(props, context) {
console.log('stuCategory组件加载完毕');
// console.log(props);
},
props:{
ctx:{},
items:{class:[],list:[]},
}, //配置需要传入的属性
delimiters: ['{[', ']}'],//delimiters:改变默认的插值符号
};
const stuBannerComponent = {
template:`
`,
setup(props, context) {
console.log('stuBanner组件加载完毕');
// console.log(props);
},
props:{
ctx:{},
items:{class:[],list:[]},
hotsuggs:{data:[]},
}, //配置需要传入的属性
delimiters: ['{[', ']}'],//delimiters:改变默认的插值符号
};
const stuFilterComponent = {
template:`
`,
setup(props, context) {
console.log('stuFilter组件加载完毕');
// console.log(props);
const items = props.items;
const tid = props.tid;
const now_filters = computed(() => {
// console.log('计算now_filters');
// items.value.class.find(it=>it.type_id===tid);
let now_filters = items&&items.filters? items.filters[tid]:[];
// console.log(now_filters);
return now_filters
});
return {
now_filters:now_filters
}
},
props:{
items:{},
now_filters:[],
tid:String,
ctx:{},
item:{},
}, //配置需要传入的属性
delimiters: ['{[', ']}'],//delimiters:改变默认的插值符号
};
const stuTopicComponent = {
template:`
`,
setup(props, context) {
console.log('stuTopic组件加载完毕');
// console.log(props);
},
props:{
link:'',
}, //配置需要传入的属性
delimiters: ['{[', ']}'],//delimiters:改变默认的插值符号
};
const stuLinksComponent = {
template:`
`,
setup(props, context) {
console.log('stuLinks组件加载完毕');
// console.log(props);
},
props:{
links:Array,
}, //配置需要传入的属性
delimiters: ['{[', ']}'],//delimiters:改变默认的插值符号
};
const StuImageComponent = {
template:`
`,
setup(props, context) {
console.log('StuImage组件加载完毕');
const methods = {
closeImage(e) {
//子组件可以使用 context.emit 触发父组件的自定义事件
// console.log(context.emit);
// console.log('调用父组件 closeImage');
context.emit('close_image');
},
};
return {
...methods,
// visible
}
},
props: {
url: {
type: String,
default: "",
},
visible: {
type: Boolean,
default: false,
},
},//配置需要传入的属性
emits :['close_image'],
delimiters: ['{[', ']}'],//delimiters:改变默认的插值符号
}
//下面的注册组件方法无法使用,需要在app里去注册
// Vue.component('copy-right', copyRightComponent);
// Vue.component('foot-button', footButtonComponent);
// Vue.component('note-popup', notePopup);
// Vue.component('stu-header', stuHeaderComponent);
// Vue.component('stu-banner', stuBannerComponent);
/*注意事项
封装组件过程中传递属性名称一定不能含有大写,比如isHome会被强制识别为is-home,所以应该传递为is_home
*/