【问题标题】:Polymer routing in LaravelLaravel 中的聚合物路由
【发布时间】:2016-01-12 22:44:08
【问题描述】:

我创建了一个基于 Polymer 的仪表板,我想将它与我的 Laravel 网站集成。我的仪表板工作正常,但在 Polymer 中的路由存在问题。

我希望我的仪表板位于:

http://example.com/dashboard

我的 Laravel 路由设置如下:

Route::get('dashboard',function(){
  return View::make('polymer.dashboard');
});

我的仪表板网址应该是这样的:

http://example.com/dashboard/#!/feedbacks

但是,我对在app.js 中进行什么设置感到困惑。当前 app.js:

// Sets app default base URL
  app.baseUrl = '/';
  if (window.location.port === '') {  // if production
    // Uncomment app.baseURL below and
    // set app.baseURL to '/your-pathname/' if running from folder in production
    //app.baseUrl = '/dashboard/';
  }

在这些设置下,当我导航到 http://example.com/dashboard 时,当 Polymer 完成加载时,url 将更改为 http://example.com/

【问题讨论】:

  • 你不应该只使用 app.baseUrl = '/dashboard'; ?
  • 我试过了,但它不起作用。

标签: laravel-4 polymer polymer-1.0


【解决方案1】:

如果您没有告诉路由器不要使用 hashbangs,那么导航到 /dashboard 将不起作用,它需要 #!。您需要进入 app/elements/routing.html 并删除显示hashbangs: true 的行。您还需要将baseUrl 设置为/dashboard/。您的服务器还需要始终为任何以仪表板开头的 URL 返回 index.html。因此,如果用户尝试访问example.com/dashboard/feedback,它应该再次发送 index.html 页面。

更改为routing.html 后,进入开发工具设置并启用Disable cache (with dev tools open)。然后重新加载应用以确保它没有提供文件的缓存版本。

【讨论】:

  • 谢谢罗伯。我再次完全阅读了您在 YT 上的 Routing 101 教程,以了解实际发生的情况:)
猜你喜欢
  • 1970-01-01
  • 2015-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多