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 的 length 属性
May 27 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
Jun 09 Javascript
js判断滚动条是否已到页面最底部或顶部实例
Nov 20 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
Aug 28 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
Jul 19 jQuery
vue router自动判断左右翻页转场动画效果
Oct 10 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
Nov 06 Javascript
vue写h5页面的方法总结
Feb 12 Javascript
vue如何获取自定义元素属性参数值的方法
May 14 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
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-fpm 参数的深入理解
2013/06/03 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
vue如何实现observer和watcher源码解析
2017/03/09 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
vue移动端使用canvas签名的实现
2020/01/15 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
python递归全排列实现方法
2018/08/18 Python
python实现一个简单的ping工具方法
2019/01/31 Python
通过实例学习Python Excel操作
2020/01/06 Python
python 动态绘制爱心的示例
2020/09/27 Python
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
总经理办公室主任岗位职责
2013/11/12 职场文书
自荐信需注意事项
2014/01/25 职场文书
大学新学期计划书
2014/04/28 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书