fix to.hash

master
git 8 years ago
parent 207a000970
commit 88047f60b0

30
docs/dist/index.js vendored

@ -632,6 +632,11 @@ __WEBPACK_IMPORTED_MODULE_0_vue___default.a.directive('markdown', function (el,
for (var i = 0; i < vnode.children.length; i++) { for (var i = 0; i < vnode.children.length; i++) {
text += vnode.children[i].text || ''; text += vnode.children[i].text || '';
} }
if (el.markdown === text) {
return;
}
el.markdown = text;
el.innerHTML = __WEBPACK_IMPORTED_MODULE_1_marked___default()(text); el.innerHTML = __WEBPACK_IMPORTED_MODULE_1_marked___default()(text);
var selectorList = el.querySelectorAll('a'); var selectorList = el.querySelectorAll('a');
@ -790,8 +795,14 @@ var examples = [{
var router = new __WEBPACK_IMPORTED_MODULE_0_vue_router___default.a({ var router = new __WEBPACK_IMPORTED_MODULE_0_vue_router___default.a({
mode: 'hash', mode: 'hash',
fallback: false, fallback: false,
scrollBehavior: function scrollBehavior() { scrollBehavior: function scrollBehavior(to, from, savedPosition) {
return { y: 0 }; if (savedPosition) {
return savedPosition;
} else if (to.hash) {
return { selector: to.hash };
} else {
return { x: 0, y: 0 };
}
}, },
routes: [{ routes: [{
@ -1133,21 +1144,6 @@ module.exports = function listToStyles(parentId, list) {
} }
return rootNode.children; return rootNode.children;
} }
},
watch: {
/**
* [$route description]
* @param {[type]} route [description]
* @return {[type]} [description]
*/
$route: function $route(route) {
if (route.hash) {
var el = document.querySelector(route.hash);
window.scrollTo(0, el ? el.offsetTop : 0);
} else {
window.scrollTo(0, 0);
}
}
} }
}); });

File diff suppressed because one or more lines are too long

@ -68,6 +68,11 @@ Vue.directive('markdown', function (el, binding, vnode) {
for (let i = 0; i < vnode.children.length; i++) { for (let i = 0; i < vnode.children.length; i++) {
text += vnode.children[i].text || '' text += vnode.children[i].text || ''
} }
if (el.markdown === text) {
return
}
el.markdown = text
el.innerHTML = marked(text) el.innerHTML = marked(text)
let selectorList = el.querySelectorAll('a') let selectorList = el.querySelectorAll('a')

@ -54,8 +54,14 @@ let examples = [
const router = new VueRouter({ const router = new VueRouter({
mode: 'hash', mode: 'hash',
fallback: false, fallback: false,
scrollBehavior() { scrollBehavior(to, from, savedPosition) {
return { y: 0 } if (savedPosition) {
return savedPosition
} else if (to.hash) {
return { selector: to.hash }
} else {
return { x: 0, y: 0 }
}
}, },
routes: [ routes: [
{ {

@ -100,20 +100,5 @@ export default {
return rootNode.children return rootNode.children
}, },
}, },
watch: {
/**
* [$route description]
* @param {[type]} route [description]
* @return {[type]} [description]
*/
$route(route) {
if (route.hash) {
let el = document.querySelector(route.hash)
window.scrollTo(0, el ? el.offsetTop : 0)
} else {
window.scrollTo(0, 0)
}
}
},
} }
</script> </script>

Loading…
Cancel
Save