vue router使ってアプリに対してディープリンク用いて素直にアクセスできなかったので備忘録に。
router-linkやpath等の用意されているリンク遷移方法やmethods内からのlocation.hrefがドメイン内でしか行われなく なりました。ディープリンクの性質上先頭にhttps://~~といったものをつけられず、内部へのリンクとして扱われてしまう、といった現象が起きたようです。
無理矢理やるしかなかったのでいい方法ご存知の方いたら教えてください…
ちなみにvue-routeの設定内にbeforeEnter書いてどうこうしようというやつ(参考)は、今回同的なリンクを扱いたかったため諦めました。
環境
内容 | バージョン |
---|---|
OS | 10.14.5 |
vue | 2.6.10 |
vue-router | 3.0.6 |
vuetify | 1.5.16 |
Laravel | 5.8.24 |
ビルドにはLaravel-mix使ってます。
解決方法
v-btnを用いて遷移を制御していたのですが、テキスト部分にaタグでリンクを入れることで無理矢理解決しました。
前述した通り、動的に生成したリンクを用いたかったのでaタグのhrefにはcomputedメソッドで算出したものをv-bindでバインドさせています。
<v-btn><a :href="linkTo">アプリへ</a></v-btn>
computed(){
linkTo: function(){
return this.base_url + this.dynamiclink + this.params
}
}