我正在尝试重定向到使用router.beforeEach
全局挂钩未找到的页面上的404.html ,但没有太大成功(使用Vue
和Vue-Router
1.0):
router.beforeEach(function (transition) {
if (transition.to.path === '/*') {
window.location.href = '/404.html'
} else {
transition.next()
}
});
Run Code Online (Sandbox Code Playgroud)
404.html
插入不存在的路径时,这不会重定向到页面,只是给我一个空片段.只有在硬编码some-site.com/*时,它才会重定向到预期的some-site.com/404.html
我确信这里有一些非常明显的东西,我忽略了,但我无法弄清楚是什么.
请注意,我正在寻找的是重定向到新页面,而不是重定向到另一个路由,这可以通过使用router.redirect
这些片段轻松实现:
router.redirect({
'*': '404'
})
Run Code Online (Sandbox Code Playgroud)
在我身上router.map
,我可以拥有以下内容:
router.map({
'/404': {
name: '404'
component: {
template: '<p>Page Not Found</p>'
}
}
})
Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用vue.js以给定的间隔刷新div的内容,但到目前为止几乎没有成功.这就是我现在所拥有的:
var vm = new Vue({
el: '#feature',
template: '<div id={{content}}></div>',
data:
featureList: [{
content: 'a'
}, {
content: 'b'
}, {
content: 'c'
}]
}
});
Run Code Online (Sandbox Code Playgroud)
在我的HTML上,我有以下内容:
<div id="feature"></div>
Run Code Online (Sandbox Code Playgroud)
我的方法是迭代这个数组并以给定的间隔替换模板中的内容.问题是我不知道该怎么做.
这是我尝试作为数据中的数组的替代方法:使用setter函数使内容成为计算属性,在数据中使用单个字符串.像这样:
var vm = new Vue({
el: '#feature',
template: '<div id={{content}}></div>',
data: {
content: 'a'
},
computed: {
setTemplate: {
set: function(newValue) {
var values= newValue
this.content = values
}
}
}
});
vm.setTemplate = 'c'
Run Code Online (Sandbox Code Playgroud)
(这里是 jsfiddle )
现在,我该如何离开这里?如何从一组给定字符串中以特定间隔更改 …