Blame view

src/mixins/link.js 1.2 KB
9932b935   梁灏   update
1
2
  import { oneOf } from '../utils/assist';
  
e77474de   梁灏   update
3
  export default {
9932b935   梁灏   update
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
      props: {
          to: {
              type: [Object, String]
          },
          replace: {
              type: Boolean,
              default: false
          },
          target: {
              type: String,
              validator (value) {
                  return oneOf(value, ['_blank', '_self', '_parent', '_top']);
              },
              default: '_self'
          }
      },
e77474de   梁灏   update
20
21
      computed: {
          linkUrl () {
32a17436   梁灏   Breadcrumb update...
22
23
              const type = typeof this.to;
              return type === 'string' ? this.to : null;
e77474de   梁灏   update
24
25
26
27
28
          }
      },
      methods: {
          handleClick () {
              const isRoute = this.$router;
2c68755a   zhigang.li   update
29
              const href = this.to || this.href;
e77474de   梁灏   update
30
              if (isRoute) {
576329cc   zhigang.li   use link.js for a...
31
                  this.replace ? this.$router.replace(href) : this.$router.push(href);
e77474de   梁灏   update
32
              } else {
576329cc   zhigang.li   use link.js for a...
33
                  window.location.href = href;
e77474de   梁灏   update
34
              }
7d0b7384   梁灏   fixed #3484
35
36
          },
          handleCheckClick (event) {
576329cc   zhigang.li   use link.js for a...
37
              if (this.to || this.href) {
7d0b7384   梁灏   fixed #3484
38
39
40
41
42
43
44
                  if (this.target === '_blank') {
                      return false;
                  } else {
                      event.preventDefault();
                      this.handleClick();
                  }
              }
e77474de   梁灏   update
45
46
          }
      }
576329cc   zhigang.li   use link.js for a...
47
  };