Blame view

src/mixins/link.js 1.15 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;
e77474de   梁灏   update
29
              if (isRoute) {
7ff2f71a   zhigang.li   fix
30
                  this.replace ? this.$router.replace(this.to) : this.$router.push(this.to);
e77474de   梁灏   update
31
              } else {
7ff2f71a   zhigang.li   fix
32
                  window.location.href = this.to;
e77474de   梁灏   update
33
              }
7d0b7384   梁灏   fixed #3484
34
35
          },
          handleCheckClick (event) {
7ff2f71a   zhigang.li   fix
36
              if (this.to) {
7d0b7384   梁灏   fixed #3484
37
38
39
40
41
42
43
                  if (this.target === '_blank') {
                      return false;
                  } else {
                      event.preventDefault();
                      this.handleClick();
                  }
              }
e77474de   梁灏   update
44
45
          }
      }
576329cc   zhigang.li   use link.js for a...
46
  };