vue2问题记录

记录项目中遇到的问题

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>
复制代码

解决:

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在其他终端(手机)访问

github.com/vuejs/vue-c…

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值