VUE返回上一层时对当前逻辑判断

2020-01-16 14:39:51

在移动端VUE项目中,默认有返回上一层的功能,例如安卓手机的左上角返回按钮。

当我们需要在返回上一级之前进行某些函数判断时,可以借助beforeRouteLeave 进行判断。

 具体作法:


beforeRouteLeave(to,from,next) {
 
       if (this.btnColorChange==false){
          MessageBox.confirm('',{
                   title:'确定要退出调查?退出将不保存答题记录',
                    cancelButtonText:'暂不',
                     confirmButtonText:'退出'
               })
               .then(action=>{
                   //退出
                  //  this.$router.push('/surveytest')
                  next()
               })
       }else {
         next()
       }
     		   
		    
     	},

这样就实现了在移动端退出当前页面返回上一级的时候进行了判断。其中的next()指向的就是判断执行后的上一级。



  • 2018-05-06 00:41:36

    设置EditText不自动聚焦

    如果界面中有EditText的时候,用户打开界面的话EditText就会自动聚焦。如果想取消这种一打开界面EditText就聚焦效果,可在EditText的上级父容器中加入如下代码:

  • 2018-05-21 13:54:06

    laravel-nestedset:多级无限分类正确姿势

    Nested Set Model 是一种实现有序树的高明的方法,它快速且不需要递归查询,例如不管树有多少层,你可以仅使用一条查询来获取某个节点下的所有的后代,缺点是它的插入、移动、删除需要执行复杂的sql语句,但是这些都在这个插件内处理了!

  • 2018-06-02 00:29:58

    Android实现沉浸式状态栏的那些坑

    最近项目需要实现沉浸式的状态栏,其实我在之前就了解过Android的沉浸式,发现有些棘手就放弃了,但是此次是公司的项目需要的,就花了几天把这个问题搞定了,在此记录一下,并mark几个坑。 首先,沉浸式是Android 4.4及以上才有的,在后续的5.0及6.0上面都增加了一些相关支持,于是问题就不太好办了。先看我实现的效果:

  • 2018-06-02 00:30:35

    Android 解决沉浸式状态栏下,输入法弹出,布局不会自动调整的BUG

    在开发中,如果输入框在布局的底部。在弹出输入发时,为了使输入法不遮挡输入框通常有两种做法: 1.将布局压缩(Activity的android:windowSoftInputMode属性设置为”adjustResize”)。 2.移动布局,将布局顶到输入框之上(Activity的android:windowSoftInputMode属性设置为”adjustPan”)

  • 2018-06-02 00:31:27

    Android layout实现输入法弹出后,布局整体上移

    那如果要实现沉浸式状态栏又要保持布局不会被输入法遮挡,怎么办呢? 只要在根布局加上android:fitsSystemWindows=”true”即可,效果如下(为方便看效果我把背景改成了黄色):