vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定


Posted in Javascript onSeptember 14, 2018

我的 github 地址 - vue3.0Study - 阶段学习成果都会建立分支。

首先美化一下界面 - 相关的界面代码不粘贴,可从我的 github 分支中看到。下面最终的实现效果图:

vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定

改造下 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 中学习指令和绑定 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 面向对象编程  function是方法(函数)
Sep 17 Javascript
jQuery插件分享之分页插件jqPagination
Jun 06 Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 Javascript
Angularjs注入拦截器实现Loading效果
Dec 28 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
Jan 22 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
Apr 15 Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 Javascript
使用D3.js创建物流地图的示例代码
Jan 27 Javascript
@angular前端项目代码优化之构建Api Tree的方法
Dec 24 Javascript
js 解析 JSON 数据简单示例
Apr 21 Javascript
微信小程序实现日历签到
Sep 21 Javascript
移动端JS实现拖拽两种方法解析
Oct 12 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
Sep 14 #Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
Sep 14 #Javascript
node中的session的具体使用
Sep 14 #Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
Sep 14 #Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
Sep 14 #Javascript
详解Vue CLI3配置解析之css.extract
Sep 14 #Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
Sep 14 #Javascript
You might like
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
通过url查找a元素应用案例
2014/04/29 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
python实现彩票系统
2020/06/28 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
纯css3实现思维导图样式示例
2018/11/01 HTML / CSS
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
倡议书格式
2014/08/30 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
七年级英语教学反思
2016/02/15 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
一起来学习Python的元组和列表
2022/03/13 Python
Java中API的使用方法详情
2022/04/06 Java/Android