美文网首页
vue2笔记

vue2笔记

作者: Blacker丶Boom | 来源:发表于2018-01-12 14:08 被阅读0次

记录项目中遇到的问题

router-link上无法触发点击事件

解决:改为@click.native="fn()"

导航点击增加当前状态,刷新不消失。

思路:
1、data中添加数据isSelect为默认当前状态
2、点击切换数据 => 切换当前状态
3、mounted时查询路由name更改isSelect
结构:

<router-link v-for="i in nav" :to='i.to' :key="i.id" @click.native="selectNav(i.name)">
        <div class="img"><img :src="isSelect === i.name ? i.img_on : i.img" alt="i.title"></div>
        <p :class="isSelect === i.name ? 'on' : ''">{{i.title}}</p>
      </router-link>

数据(注意img要加require,否则会被解析为字符串):

isSelect: 'index',
nav: [
      {
        title: '首页',
        name:'index',
        to:'/index',
        img: require('../../assets/images/index.png'),
        img_on: require('../../assets/images/index-on.png')
      },
      {
        title: '柜上',
        name:'shop',
        to:'/shop',
        img: require('../../assets/images/shop.png'),
        img_on: require('../../assets/images/shop-on.png')
      },
      {
        title: '消息',
        name:'msg',
        to:'/msg',
        img: require('../../assets/images/msg.png'),
        img_on: require('../../assets/images/msg-on.png')
      },
      {
        title: '我的',
        name:'mine',
        to:'/mine',
        img: require('../../assets/images/person.png'),
        img_on: require('../../assets/images/person-on.png')
      }
    ]

方法(需要在路由中加入name):

    methods:{
      selectNav(name){
        this.isSelect=name
      }
    },
    mounted(){
      this.isSelect = this.$route.name
    }

显示余额时,无法准确显示小数点后两位

如我想显示0.00,而浏览器中最终显示0
查阅文档知道过滤器:可以实现。

Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示:

<!-- 在双花括号中 -->
{{ message | capitalize }}

<!-- 在 `v-bind` 中 -->
<div v-bind:id="rawId | formatId"></div>

解决:
js:

export default {
    data() {
      return data
    },
    filters:{
      keep_two_point(val){
        val = Number(val)
        return val.toFixed(2)
      }
    }
  }

html:

 <p>{{money|keep_two_point}}</p>

不能通过IP在其他终端(手机)访问

https://github.com/vuejs/vue-cli/issues/683

父组件添加scoped之后。解决在父组件中无法修改子组件样式问题。


实测第二种写法报错Unrecognised input 可能是我用less的原因。/deep/可行。
原文链接

相关文章

网友评论

      本文标题:vue2笔记

      本文链接:https://www.haomeiwen.com/subject/eakfoxtx.html