时间:2021-05-26
我的 github 地址 - vue3.0Study - 阶段学习成果都会建立分支。
首先美化一下界面 - 相关的界面代码不粘贴,可从我的 github 分支中看到。下面最终的实现效果图:
改造下 data 中的 navs 属性 ( navs 数组每个元素都是 包含 active 和 data 属性的对象 ):
created: function () { fetch('https://www.apiopen.top/journalismApi') .then(v => v.json()) .then(v => { this.tts = v.data.toutiao this.navs = v.data console.log(this.navs); Reflect.ownKeys(v.data).forEach((key, index) => { this.navs[key] = { active: key === 'toutiao', data: this.navs[key] } }) }) }其中的 active 用来标识 button,data 是新闻资讯的数据。
改造 <div class="nav"> 标签:
<div class="nav"> <div v-for="(value, key, index) in navs" :key="index" :class="{ active: value.active }" @click="changeNav(key)" > {{key}} </div></div>其中加入 :class="{ active: value.active }" ,当前 button 是激活时,增加 .active。@click="changeNav(key)",当点击 button 执行组件中定义的 changeNav 函数,并传入 key 作为参数。
methods: { changeNav: function(akey){ Reflect.ownKeys(this.navs).forEach((key, index) => { this.navs[key].active = akey === key && (this.tts = this.navs[key].data); }) } },以上是组件中定义的 changeNav 方法。 代码中仅仅改变了 navs 数组中每个 avtive 的值,便可以切换 button 的选中状态;而 this.tts = this.navs[key].data 则是当 button 选中时替换组件 tts 属性指向的对象。
以上,介绍了方法定义、指令、class 绑定的内容,也介绍了如何动态的渲染和切换。
插值技术这里仅仅用到 {{ 组件属性 }} 的方式,还有很多其他的方式;计算属性是根据组件已有的属性,计算出来的“属性”,也不是高深的内容;事件处理仅介绍简单的函数执行,还有事件修饰符;这些内容请参阅 vue 官方教程学习。
关于条件渲染和列表渲染通过两篇文章的学习,应该掌握基本的用法。v-show 和 v-if 的区别也要注意 ( 性能上有差别 );列表渲染也有注意地方,还有列表过滤;这些内容请参阅 vue 官方教程学习。
总结
以上所述是小编给大家介绍的vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言随着我们vue3.0的出现,我们的ui组件库也有了一些变化,像我们的旧版的element-ui已经不能在vue3.0中使用了,如果要使用element的话需
1.自定义组件标签(如在主页插入顶栏/侧边栏等)  比如说要将Header.vue插入Home.vue中显示:定义好Header.vue
前言:在vue3.0中使用element框架,因为element是支持vue2.0的,他推出的支持vue3.0的版本叫element-plus官网入口:点我进入
熟悉vue的人都知道在vue2.x之前都是使用object.defineProperty来实现双向数据绑定的而在vue3.0中这个方法被取代了1.为什么要替换O
今天来学习vue3.0,之前使用的是vue2.0现在用3.0的话你可以升级,也可以卸载再重装.我这里就是卸载重装啦。第一步我们卸载全局的vue2.0。你需要先通