您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么在vue中實現(xiàn)錨點(diǎn),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
第一種:
router.js中添加
mode: 'history', srcollBehavior(to,from,savedPosition){ if(to.hash){ return { selector:to.hash } } }
組件:
<template> <div> <ul class="list"> <li><a href="#1" rel="external nofollow" >星期1</a></li> <li><a href="#2" rel="external nofollow" >星期2</a></li> <li><a href="#3" rel="external nofollow" >星期3</a></li> <li><a href="#4" rel="external nofollow" >星期4</a></li> <li><a href="#5" rel="external nofollow" >星期5</a></li> <li><a href="#6" rel="external nofollow" >星期6</a></li> <li><a href="#7" rel="external nofollow" >星期7</a></li> </ul> <div class="main_con" id="1">11111111111111111111111111111111</div> <div class="main_con" id="2">22222222222222222222222222222222222</div> <div class="main_con" id="3">33333333333333333333333333333333333333</div> <div class="main_con" id="4">444444444444444444444444444444444444444</div> <div class="main_con" id="5">555555555555555555555555555555555555555</div> <div class="main_con" id="6">666666666666666666666666666666666666666</div> <div class="main_con" id="7">7777777777777777777777777777777777777777</div> </div> </template> <script> export default { data(){ return { } } } </script> <style> .list{ width: 100%; height: 50px; } li{ width: 11%; height: 50px; line-height: 50px; text-align: center; border: 1px solid #ccc; color: #ff6c00; float: left; list-style: none!important; } .main_con{ width: 100%; height: 200px; border: 1px solid #ccc; line-height: 200px; text-align: center; color: blue; } </style>
第二種:
寫一個方法 組件
<template> <div> <div><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" @click="goAnchor('#anchor-'+index)" v-for="index in 20"> {{index}} </a></div> <div :id="'anchor-'+index" class="item" v-for="index in 20">{{index}}</div> </div> </template> <script> export default{ data(){ return { } }, methods: { goAnchor(selector) { var anchor = this.$el.querySelector(selector) document.documentElement.scrollTop = anchor.offsetTop } } } </script> <style> .item{ width: 100%; height: 200px; line-height: 200px; text-align: center; } </style>
第三種: 自定義指令
<template> <div> <div><a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" v-anchor="index" v-for="index in 20"> {{index}} </a></div> <div :id="'anchor-'+index" class="item" v-for="index in 20" >{{index}}</div> </div> </template> <script> export default{ data(){ return { } } } </script> <style> .item{ width: 100%; height: 200px; line-height: 200px; text-align: center; } </style>
main.js 定義全局指令 方便其他地方復(fù)用
Vue.directive('anchor',{ inserted : function(el,binding){ el.onclick = function(){ document.documentElement.scrollTop = $('#anchor-'+binding.value).offset().top } } })
Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創(chuàng)建可維護(hù)性和可測試性更強(qiáng)的代碼庫,Vue允許可以將一個網(wǎng)頁分割成可復(fù)用的組件,每個組件都包含屬于自己的HTML、CSS、JavaScript,以用來渲染網(wǎng)頁中相應(yīng)的地方,所以越來越多的前端開發(fā)者使用vue。
上述就是小編為大家分享的怎么在vue中實現(xiàn)錨點(diǎn)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。