问题标签 [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 - Emberjs 使用自己的路由/状态单独开发一个组件,可以集成到主应用程序中
我需要在 ember 中开发一个组件。
组件逻辑在某种程度上与主应用程序隔离,可以创建为单独的隔离应用程序,在组件内具有状态和路由。
目前我有组件的根控制器作为“ApplicationController”来启用路由,“applicationController”这个名字看起来像是硬编码的。
现在我有了带有“ApplicationController”+相关路由的主应用程序,以及带有“ApplicationController”+相关路由的组件。看起来很难整合它们。
有没有办法让像这样的多个组件分隔我的命名空间?在此处查看评论
因此,主要关注的是一种开发带有隔离的例程/状态的 ember 组件的方法,该方法很容易与也具有路由/状态的主应用程序集成回来。
编辑
我在绑定到唯一集成的主应用程序的组件中有两个值。此外,一旦集成,组件路由必须作为应用程序路由的一部分。
在开发过程中,我应该能够做到
话虽如此,我现在遇到的主要问题是关于使用“ApplicationControler”的主应用程序和组件
更新
类似问题
serialization - EmberJS - find / findAll 和 Route.deserialize 和 Route.serialize 有什么关系?
您好,在回答精彩问题Ember.js - CRUD 场景 - 从 Route查找和 findAll 中指定视图时,提到要在模型上使用自动反序列化 URL。
这个界面是什么样子的,它真的是模型而不是控制器吗?
一个例子会很棒。
ember.js - 你如何测试你的 emberjs 路由?
在几个月没有看 emberjs 之后,我现在正试图回到它,因此我正在尝试新的路由器。我想测试我的路线。
有没有人尝试用 emberjs 编写一些路由测试?
让我们假设非常基本的以下路由器:
您如何测试加载root.index
路线是否正确加载HomeView
?
ember.js - EmberJS 路由:从父级创建子路由
我正在尝试创建一条路由以在父级上添加子实体。我的路由器看起来像这样。我在父母的节目中有一条嵌套路线,我很确定这是错误的。这样做似乎停止了页面转换之间的 URL 更改,并且当我从父模板通过 导航到 addChild 路由时{{action doAddChild href=true}}
,URL 中的 :parent_id 未定义。我猜这是因为我没有在应该是父项的操作上设置上下文,但是我从哪里得到呢?
实现这一目标的最佳方法是什么?我显然是在吠叫错误的树...
javascript - EmberJS:如何从控制器的动作过渡到路由器
我有一个动作:
我的目标是绑定控制器(而不是路由器),如下所示:
如何从控制器操作重定向回路由?
ember.js - 如何路由到相同的嵌套状态但具有不同的上下文?
我目前很难找到一个嵌套的工作路线,其中一个路径元素是动态的。这就是我想要实现的场景:
该页面包含项目的描述。页面内是一个选项卡菜单,用于选择不同的视图。这也应该反映在 URL 中。所以我想要不同的网址,例如:
为了不重复:project
参数,我添加了一个嵌套项目路由,它不是叶子,但只负责项目本身的序列化/反序列化。只要我使用初始项目,一切正常。但它可能发生,我想从一个项目链接到另一个项目。这意味着 URL 应该更改url#/project1/info -> url#/project2/info
,因此视图也应该更改以显示有关 project2 的信息。
听起来很简单。但是,当我使用操作助手链接到 project2 时,不会调用项目路由的反序列化方法
我想那是因为我已经处于信息状态。但是,我如何传播上下文更改?一个简化的案例你可以在小提琴http://jsfiddle.net/jocsch/HYbZj/30/中找到或者直接查看http://jsfiddle.net/jocsch/HYbZj/30/show/#/project1/info
ember.js - Ember.js 路由 - 有条件地阻止路由/状态更改
我试图弄清楚如何防止或暂停路线更改。对于我的编辑屏幕,如果用户在未保存更改时导航离开(后退按钮或其他机制),我想提示他们确保他们想要离开页面。与 非常相似window.onbeforeunload
,但通过路由器。
以前版本的 Ember 中的状态图为您提供了一个可以使用的转换对象。似乎在 ember-latest 中,情况不再如此。那么解决这个问题的最佳方法是什么?
编辑:
上述问题很旧,列出的答案已过时。Ember 现在有一种本地方式来处理这个问题。请参阅文档:http ://emberjs.com/guides/routing/preventing-and-retrying-transitions/
ember.js - 如何使用 Ember.js 和 ember-data 创建新记录?
我已经从我找到的各种文档和示例中编译了这个示例,但是我还没有找到一个使用路由器和 ember-data 来简单地创建新记录的完整示例,所以这是我的重头戏。
这个例子
http://jsfiddle.net/dmazza/Hb6BQ/4/
我有一个人 (DS.Model) 有名字和姓氏。
我有一个带有索引和创建路由的路由器,其中创建表单出现在 PeopleView 的出口中。
我使用 Ember.TextField 绑定到使用 App.Person.createRecord({}) 创建的新人员的属性,作为 PersonCreateController 的内容。
请注意,我有意按照@wycats 的建议为每个插座使用单独的控制器:https ://github.com/emberjs/ember.js/issues/1050#issuecomment-6497907
问题
我似乎一遍又一遍地遇到同样的问题。我尝试使用 App.Person.find() 之类的方法,它会告诉我:
这将发生在:
- App.Person.find()
- App.Person.createRecord({})
- App.Store.find(App.Person)
- 其他几种方法(当我想到它们时,我会更新此列表)
问题
- 我是否使用这些工具以正确的方式创建新记录?
- 为什么我会在上面收到此错误?(如果你打开你的网络检查器,你会看到这个错误,暂停未捕获的异常并确保你在结果(fiddle.jshell.net)框架中,而不是)
ember.js - emberjs - 如何使用路由器基础设施标记活动菜单项
我正在尝试创建导航选项卡(取自Twitter Bootstrap):
活动选项卡标有class="active"
。
在http://jsfiddle.net/schawaska/pfbva/上有一个很好的静态导航栏和路由器/插座功能示例,但我不明白如何创建动态导航栏/菜单/选项卡视图。
据我了解,可以在每个菜单项中使用类绑定:
但是切换 isActive 属性的正确位置在哪里?
ember.js - 如何将 App.Router 拆分为几个独立的块?
我的 App.Router 变成了一个巨大的难以管理的单块代码
有没有办法以不那么冗长的方式声明路由并且没有复制粘贴?如何将路由器声明拆分为更小的独立部分?