Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vuejs2 带有ServiceStack路由回退和Api前缀的Vue.js路由器历史记录模式_Vuejs2_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack_Vue Router - Fatal编程技术网 servicestack,vue-router,Vuejs2,servicestack,Vue Router" /> servicestack,vue-router,Vuejs2,servicestack,Vue Router" />

Vuejs2 带有ServiceStack路由回退和Api前缀的Vue.js路由器历史记录模式

Vuejs2 带有ServiceStack路由回退和Api前缀的Vue.js路由器历史记录模式,vuejs2,servicestack,vue-router,Vuejs2,servicestack,Vue Router,每个客户端路由都以散列开始。如何在不干扰api路由的情况下在Vue路由器中启用历史模式 此外,我不希望以“/api”开始我的路线。客户端路由在Config.HandlerFactoryPath设置为“api”时不起作用。有没有办法做到这一点 APPHOST public class AppHost : AppHostBase { private BackendSettings _settings; private IHostingEnvironment _environment;

每个客户端路由都以散列开始。如何在不干扰api路由的情况下在Vue路由器中启用历史模式

  • 此外,我不希望以“/api”开始我的路线。客户端路由在Config.HandlerFactoryPath设置为“api”时不起作用。有没有办法做到这一点

  • APPHOST

    public class AppHost : AppHostBase
    {
        private BackendSettings _settings;
        private IHostingEnvironment _environment;
    
        public AppHost(BackendSettings settings, IHostingEnvironment environment) : base("Template.Www", typeof(SurveyService).Assembly)
        {
            _settings = settings;
            _environment = environment;
    
            Routes                
                .Add<GetSurvey>("/api/survey/{id}", "GET");
        }
    
        public override void Configure(Container container)
        {
            bool isDevelopment = _environment.IsDevelopment();
    
            Plugins.Add(new TemplatePagesFeature());
    
            SetConfig(new HostConfig
            {
                AddRedirectParamsToQueryString = true,
                DebugMode = isDevelopment,
            });
        }
    }
    
    请求模型

    [Exclude(Feature.Metadata)]
    [FallbackRoute("/{PathInfo}", Matches = "AcceptsHtml")]
    public class Fallback
    {
        public string PathInfo { get; set; }
    }
    
    VUE路由器

    export default new Router({
      mode: 'history',
      routes: [
        {
          path: '/',
          component: Home
        },
        {
          path: '/test',
          component: Test
        },
        {
          path: '*',
          redirect: '/'
        }
      ]
    })
    

    [FallbackRoute]
    的目的是返回不匹配路由的主页,因此,如果路由仅在客户端上定义,则整页请求将返回主页,以便客户端路由可以处理路由


    不可能有匹配的服务器路由和客户端路由,因为客户端路由需要服务器上的回退处理程序返回主页,这只会发生在不匹配的请求上。

    实际上,我不确定我是否完全理解您的答案。就我所见,我以与ServiceStack Vue模板中相同的方式配置了[FallbackRoute]。为什么历史模式在该模板中工作,但在这里不工作?@glazjoon查看一下我更新的Vue路由器。。历史模式现在起作用了,但它不像温泉浴场。每次我改变路线时,包裹都会被装载。有什么帮助吗?@glazjoon我不知道这意味着什么,但你应该从一个SPA模板开始,它的行为确实像一个SPA,请参阅上的实时演示,我的意思是SPA不应该在客户端导航上刷新。
    export default new Router({
      mode: 'history',
      routes: [
        {
          path: '/',
          component: Home
        },
        {
          path: '/test',
          component: Test
        },
        {
          path: '*',
          redirect: '/'
        }
      ]
    })