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++) {
text += vnode.children[i].text || '';
}
if (el.markdown === text) {
return;
}
el.markdown = text;
el.innerHTML = __WEBPACK_IMPORTED_MODULE_1_marked___default()(text);
var selectorList = el.querySelectorAll('a');
@ -790,8 +795,14 @@ var examples = [{
var router = new __WEBPACK_IMPORTED_MODULE_0_vue_router___default.a({
mode: 'hash',
fallback: false,
scrollBehavior: function scrollBehavior() {
return { y: 0 };
scrollBehavior: function scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
return savedPosition;
} else if (to.hash) {
return { selector: to.hash };
} else {
return { x: 0, y: 0 };
}
},
routes: [{
@ -1133,21 +1144,6 @@ module.exports = function listToStyles(parentId, list) {
}
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++) {
text += vnode.children[i].text || ''
}
if (el.markdown === text) {
return
}
el.markdown = text
el.innerHTML = marked(text)
let selectorList = el.querySelectorAll('a')

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

@ -100,20 +100,5 @@ export default {
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>

Loading…
Cancel
Save