问题标签 [ember-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ember.js - 具有动态段的资源并在嵌套路径中检索模型
我有以下路线:
在我的新路线中,为了构建一个新的 App.Group 对象,我需要知道我们所在的事件是什么。
所以我有以下路线,对应于资源:
与路线相对应的那个:
我需要在创建组时指定组的事件。但是,在 GroupsNewRoute 中,我似乎无法检索该事件。参数不包括event_id
.
如何从路由中的父资源获取模型?
ember.js - 使用 ember 的 linkTo 助手时,“未捕获的类型错误:无法调用未定义的方法‘切片’”
使用:
- ember.js 提交 b2e82ae
- ember-data.js 提交 001ba0c
- 车把-1.0.rc.2.js
这曾经可以与最新的路由器 API 一起使用,但现在在升级到最新提交后会中断。这也是第一个告诉我将 rc.2 用于车把的升级,这可能是一个提示。
linkTo帮助器在解析todo_items模板时引发错误: Uncaught TypeError: Cannot call method 'slice' of undefined
。
当我将 linkTo 的第一个参数用引号括起来时,没有什么区别linkTo "todo_items.todo_item" item
,同样的错误也会发生。
我究竟做错了什么?
ember.js - 如何观察当前路线的变化?
每当位置(路线)发生变化时,我想更新<title>
页面的标签。我对观察App.Router
当前路由的变化特别感兴趣——然后我想访问与该路由关联的视图并<title>
根据视图的属性更新观察者的标记。
例如,如果去/about
- 我设置观察者观察什么?我很难找到
currentState
要观察的属性或等价物。 - 在观察者中,我如何访问
App.AboutView
与路由关联的?
我正在使用1.0.0pre4
我的目标是在观察者将使用的每个视图上都有一个title
属性和一个属性。我想使用该属性来更新,并且该属性对象来检查我当前的用户是否可以访问该路由。authorization
currentPath
title
document.title
authorization
既然我这么说并且@Michael Grassotti 的回答,也许这些属性属于控制器而不是视图。目标是访问与当前路由的上下文关联的这些属性,以修改document.title
并检查我的App.CurrentUserController
(存储User
登录用户的对象模型)是否被授权访问当前路由。
javascript - Ember.js 新路由 api
我目前正在将我的应用程序从 ember 迁移1.0.0-pre2
到1.0.0-pre4
新路由 API 时遇到问题。
文档中的新指南似乎没有涵盖我的用例。
我总是在应用程序其余部分旁边有一个聊天 div,我的应用程序模板看起来像这样:
使用旧路由器 conf 映射两个控制器及其各自出口上的 URL。
如果这对 Ember 来说是一个糟糕的设计,我该如何将此代码迁移到新的 API 或更改我的编码方式。
我想我可以将我的问题概括为,我们如何使用新的路由 API 将多个控制器映射到同一个 URL,处理页面的不同部分。
谢谢
ember.js - 即使模板被渲染,emberjs #each 助手也不会产生任何输出
尽管“posts/index”模板正在渲染,但模板内的 emberjs #each 助手不会产生任何输出。这是jsfiddle:http: //jsfiddle.net/rxWzu/
我试过这个:
还有这个
谢谢。
ember.js - 在 EmberJS 1.0.0-pre.4 中检测路由转换
我正在尝试检测何时发生路由转换。我在v1.0.0-pre.4
处理转换的最新版本的 Ember ( ) 中找到了这个代码片段:
我将 Ember 应用程序设置为window.App = Ember.Application.create()
.
我注意到它调用了this.notifyPropertyChange('url');
,但我试图将观察者附加到我的应用程序,App.Router
或者App.Router.router
我收到错误,因为它没有实现Ember.Observable
。
如何在不为我的每条路由创建特殊的 Ember.Route 的情况下检测路由路径何时更改?
ember.js - 遵循 #linkTo 助手的 emberjs 指南不显示单个帖子
我有一个带有如下所示路线的jsfiddle ,它与emberjs 指南中的路线完全相同,当我单击附加到{{post.title}}的#linkTo 助手时,它应该向我显示单个帖子,但它没有,而是控制台显示此错误:
未捕获的错误:断言失败:无法在未定义的对象上调用带有“id”的 get。
此外,当我单击主页上的帖子链接时,它会显示所有标题,但在控制台中,它也会显示此错误:
未捕获的错误:您所做的某事导致视图在渲染后但在插入 DOM 之前重新渲染。
我查看了这个提交,它添加了对字符串文字的支持作为 {{linkTo}} 的参数,特别是来自该提交的以下建议:
现在,Ember 允许您将字符串文字指定为参数。{{#linkTo post popular}}将在当前上下文中查找“流行”属性并生成一个指向具有该 ID 的模型的 URL。而{#linkTo post "popular"}}会将字符串文字 "popular" 视为模型。
ember.js - emberjs new-router-V3/controller 无法使用 ember-data 创建或编辑记录
在这个jsfiddle中,我有EmBlog.PostsNewRoute 和EmBlog.PostsEditRoute。路由包含“保存、取消和销毁”事件。
当我创建一个新记录时,它只在内存中创建它并且从不调用 store.commit() 并且在控制台中,它会抛出错误:
未捕获的类型错误:无法调用未定义的方法“提交”
当我尝试编辑时,它会抛出相同的错误,但编辑仍然只发生在内存中。
破坏动作也失败了。
当我打电话取消时,我得到:
无法读取未定义的属性“defaultTransaction”
大部分代码都在jsfiddle中。保存和取消事件遵循Yehuda 在这里描述的模式:
谢谢