小编pie*_*reb的帖子

未找到页面上的Vue-router重定向(404)

我正在尝试重定向到使用router.beforeEach全局挂钩未找到的页面上的404.html ,但没有太大成功(使用VueVue-Router1.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)

http-status-code-404 vue.js vue-router

37
推荐指数
5
解决办法
6万
查看次数

用setInterval替换vue.js模板

我一直在尝试使用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 )

现在,我该如何离开这里?如何从一组给定字符串中以特定间隔更改 …

javascript vue.js

3
推荐指数
1
解决办法
3807
查看次数