问题标签 [ember-old-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 - transitionTo('route', context) 传递上下文基础路由,而不是请求的路由
我正在开发一个 Ember 应用程序,我希望单击按钮以转换到新路由,将对象作为该路由的上下文传递。
问题是,无论我如何尝试传递该上下文,当我到达要转换的路线时,它总是会丢失。
调查(http://jsfiddle.net/fxbXM/2/)似乎上下文被传递到路由器命中的第一个路由,因为它适用于请求的路由。(请参阅每个路由级别的 connectOutlets 函数的输出)
这似乎证实了我在调试实际应用程序时的想法:在 Ember 的 triggerSetupContext 函数中有三个enterStates
:[Router, 'root', 'create'] 并且有三个contexts
:[myObject, null, null]
如果上下文的顺序相反,那么我会在我想要的地方得到我想要的!
我在将对象作为上下文传递的方式上是否犯了一些基本错误?我应该使用另一种方法吗?
ember.js - 获取当前路线的上下文
我已经使用 ember 路由器在我的 ember 应用程序中实现了一个搜索字段。我的路由器的相关部分如下所示:
我想将我的搜索字段的值绑定到当前路线的上下文。我找到了一种在我的控制器中使用在我的控制器中实现的stateMetaFor
方法来执行此操作的方法,如下所示:
我对这种方法不满意,因为 1)它使用了未记录的findStateByPath
方法,以及 2)因为它需要 stateMeta 对象的内部知识。有一个更好的方法吗?如果没有,应该有吗?
javascript - Ember-Data:“映射”如何工作
我目前正在尝试将一些东西与 ember + emberdata + router + asp.net web api 放在一起。大多数似乎都有效,但是当 ember-data 尝试findAll
通过我的模型的适配器时,我遇到了一条错误消息。
在我的后端,我有一个这样的模型(C#):
在我的应用程序中,我使用 ember-data 像这样表示它:
我还在我的应用程序中使用 RESTAdapter 定义了一个商店,如下所示:
商店在我的控制器中使用如下:
路由器定义为
当我运行我的应用程序时,对于具有相同结构的每个对象,我都会收到以下消息:
未捕获的错误:断言失败:您的服务器返回密钥为 0 的哈希,但您没有映射
作为参考,这里是服务返回的 json:
我无法确切说出问题所在,并且由于断言提到我需要映射,所以我想知道:
- 这个映射是什么以及如何使用它。
- 由于返回的 json 是一个数组,我应该在我的应用程序中使用不同类型的控制器,还是在 ember-data 中使用这种类型的 json 时我应该知道什么?还是应该更改服务器中的 JsonFormatter 选项?
欢迎任何帮助。
如果您觉得这不足以理解问题,我绝对可以添加更多信息。
编辑:我在后端更改了一些东西,现在我findAll()
在服务器中的等效操作将输出序列化为以下 json:
但是我仍然无法让它在客户端中填充我的模型,并且我的错误消息已更改为:
未捕获的错误:断言失败:您的服务器返回了包含关键类型的哈希,但您没有映射
不知道我可能做错了什么。
抛出此异常的方法是sideload
并检查如下映射:
此调用sideloadedType = type.typeForAssociation(prop);
返回undefined
,然后我收到错误消息。该方法检查返回空typeForAssociation()
的 for键。'associationsByName'
Ember.Map
目前仍然没有解决方案。
顺便一提...
我的动作现在是这样的:
我不得不删除由json.NET序列化的原始实现,因为我找不到配置选项来生成 Ember-Data 期望的 json 输出(如中所示{resource_name : [json, json,...]}
)。这样做的副作用是我失去了内置的 OData 支持,但我想保留它。有谁知道我如何配置它来为一个集合生成不同的 json?
ember.js - `insertNewline` 可以调用 transitionTo 吗?
我的问题的示例代码在这里。这是一个简单的 Ember 应用程序,默认显示包含 TextField 的 SearchView。
当用户输入一些文本并按 Enter 键时,我想通过在文本框中输入的值转换到另一个状态(displayUserProfile)。
起初,在 Textbox 的insertNewline回调中,我调用了应用程序路由器的transitionTo方法,将值作为参数对象的一部分传递:
这很好用,但后来我注意到 pangratz 对有关无限滚动的问题的回答使用了不同的方法。相反,他调用视图控制器上的一个方法,该控制器又调用控制器目标(即路由器)上的一个方法。
这将我的代码更改为:
我的问题是:哪种方法更好?直接从视图调用transitionTo或将其委托给视图的控制器?
ember.js - Ember.js 基于路由器的应用程序在页面刷新时未加载 ember-data 对象
我正在关注基于http://emberjs.com/guides/outlets/的基于路由器的应用程序结构。
我能够跟随并使其发挥作用。但是当页面显示帖子(例如/#/posts/2)时加载内容时出现问题,我怀疑这是因为未加载特定的帖子。
有什么出路?是不是应该开箱即用。
小提琴示例:http: //jsfiddle.net/nachiket/h5Hkm/
直接输出: http: //fiddle.jshell.net/nachiket/h5Hkm/show/light/
作品: http: //fiddle.jshell.net/nachiket/h5Hkm/show/light/#/posts
不起作用:http ://fiddle.jshell.net/nachiket/h5Hkm/show/light/#/posts/1
ember.js - 如何在 ember.js 中使用多个路由器对象
我还是 ember.js 的新手,但我尚未大规模看到的框架的一部分是基本的 Ember 路由器。在一个小型单页应用程序中,您只有一个管理所有状态/路由等的路由器。但是随着您的应用程序的增长,如果模式似乎只关注一个对象,您如何管理复杂性?
好奇这是否只是我忽略的东西,或者这是否被认为是一个巨大的全局状态管理对象,例如 iOS 中的 AppDelegate。
ember.js - App.get('router').send 导致此错误 Uncaught TypeError: Cannot redefine property: __ember1346884664897
任何人都知道为什么我会收到此错误:
打电话时:
我从我的一个观点拨打电话,路由器处于正确的状态,据我所知,我正在按照书本做所有事情。
真的很感激任何想法......
创建了一个可能有助于更好地解释事情的要点。https://gist.github.com/3647288
javascript - EmberJS:将路由器拆分为多个文件
任何人都可以举一个很好的例子来说明如何将路由器分成多个文件,并且有没有这样做的最佳实践?
ember.js - Emberjs 路由器:视图属性未在关联控制器上定义
我正在尝试将我的应用程序移至使用“插座”的新 Emberjs 路由器组件。
参见参考文献:http ://emberjs.com/guides/outlets/和这个: http ://codebrief.com/2012/07/anatomy-of-an-ember-dot-js-app-part-i-redux-路由和出口/
我如何理解它的工作原理:当您使用字符串连接插座时,会发生以下事情
- Ember 在 App 上查找视图定义并实例化它
- Ember 在 App 上查找控制器定义并创建它的实例
- 像这样将两者相互挂钩:设置视图控制器属性和设置控制器视图属性
--- 在最后一步之前运行良好。我似乎无法在控制器上设置视图属性。
JSBin 这里:http: //jsbin.com/ekekir/40/edit
相关代码:
应用路由器
控制器和视图
最后它返回一个大空值。
我做错了什么还是这就是它应该的方式?
顺便说一句:这是使用 ember-1.0.pre。
ember.js - 我应该如何正确使用 Ember.js 嵌套路由?
我有这条路线部分,/articles/
. 我想在这里创建子路由,比如/
和/list/
。这就是我正在尝试的方式:
我一定做错了什么,因为它没有过渡到文章路线。这是我的路由日志:
但是该articles
url 没有注册到历史记录中——如果我点击返回,我会进入上一个状态,即之前的状态articles
。
我究竟做错了什么?