老师好,我有两个问题
1)v-for循环出来的数据如果一定要用v-blind接受吗
2)这里怎么用作用插槽的方法打印出每个选项卡呢
我是想通过作用域插槽打印出上面的选项卡的,但是一直都在报错
3)class的部分,为什么加入多个的class呢,如果用data数据的话是不是从父组件里获得
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<style>
.swtich{display: flex;justify-content: center;align-items: center;}
.btn{padding: 10px 20px;
border-radius: 5px;
outline: none;
border: 1px solid gray;
cursor: pointer;}
.actived{background-color: gray;}
</style>
</head>
<body>
<div id="root">
<div class="swtich">
<div v-for="(item,index) of list" :index= index @click="handleClick(index)" :class="{actived:actedindex===index,btn:true}">{{item}}</div>
</div>
<component :is="actived[actedindex]">
</div>
<script>
Vue.component('TabBarone',{
template:'<div>前端工程师</div>'
})
Vue.component('TabBartwo',{
template:'<div>Java工程师</div>'
})
Vue.component('TabBarthree',{
template:'<div>软件测试工程师</div>'
})
var vm = new Vue({
el: "#root",
data:{
list:['前端工程师', 'Java工程师', '软件测试工程师'],
actedindex:"0",
actived:["TabBarone","TabBartwo","TabBarthree"]
},
methods:{
handleClick:function(index){
this.actedindex = index
}
}
})
</script>
</body>
</html>
正在回答 回答被采纳积分+1
同学你好,问题解答如下:
1.当父组件给子组件传值时,才会用到props接收,即子组件中,用到的某个数据,需要由父组件传过来,此时就需要props接收,如下:
而这个例子中,子组件不需要父组件传值,所以不用props接收。
同学这样理解也可以,即子组件的内部不使用父组件上的数据,就不用props接收。
2. 如果想使用多个插槽,可以如下这样写:
3. test组件内的插槽使用的数据list,是子组件内部的,该list不是从父组件接收来的。子组件利用该数据,进行循环遍历多个插槽,然后在插槽上绑定数据,绑定的这些数据,会传到外面,即传到父组件内,过程如下:
同学可以再理解一下。
祝学习愉快!
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星