ember.js - Ember,更改当前 url 和 LinkTo 目标而不重新加载数据
问题描述
如何在不重新加载数据的情况下更改 url 和 LinkTo 组件?
设计一个用户可以更改其项目名称的应用程序。当前 url 包含项目名称,因此必须更新。除了 url 和链接必须修改(没有数据重新加载)
考虑这条主要路线:
this.route('routeName', { path: '/:project_name/:param2/:param3' }, function () {
...many sub routes
});
replaceURL 方法允许更改 url:
this.router.location.replaceURL(urlWithNewProjectName)
LinkTo 使用示例(未指定模型,使用默认值):
{{#LinkTo 'routeName'}}link{{/LinkTo}}
例如以下失败:
// this code in the router has no effect on LinkTo in templates.
const params = this.paramsFor(this.routeName);
params.project_name = "newName";
LinkTo 组件继续以旧网址为目标。如何更改路由的动态段默认值?
解决方案
您需要将动态段传递给模板中的 LinkTo 组件。当这些道具发生变化时,链接将更新。从这里开始查看指南以获取更多信息:https ://guides.emberjs.com/release/templates/links/#toc_example-for-multiple-segments
推荐阅读
- html - 收件箱布局 - 以完整的高度和滚动显示彼此相邻的 div
- laravel - 查询 Laravel 关系中多条记录中的最新记录
- maximo - WO: 使资产 XY 胜过服务地址 XY -- 如果资产的几何类型是点
- firebase - 您可以等待 firebase cloud auth.user().OnCreate 函数吗?
- rust - 将 NixOS 升级到 20.03 后,具有柴油和 mysql 依赖项的板条箱不再针对 mariadb 进行编译
- apache-spark - 如何解决 Elephas 基本示例上的 java 错误?
- angular - 为什么 StackBlitz 中没有显示 mat-accordion?
- c++ - GCC 和 MSVC 中的 C++ utf-8 文字
- matlab - 如何使用 Matlab 分析和绘制二氧化碳排放数据
- gulp - 为什么 Gulp 以错误的顺序连接我的输出?