问题标签 [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.

0 投票
1 回答
975 浏览

ember.js - Emberjs 使用自己的路由/状态单独开发一个组件,可以集成到主应用程序中

我需要在 ember 中开发一个组件。

组件逻辑在某种程度上与主应用程序隔离,可以创建为单独的隔离应用程序,在组件内具有状态和路由。

目前我有组件的根控制器作为“ApplicationController”来启用路由,“applicationController”这个名字看起来像是硬编码的。

现在我有了带有“ApplicationController”+相关路由的主应用程序,以及带有“ApplicationController”+相关路由的组件。看起来很难整合它们。

有没有办法让像这样的多个组件分隔我的命名空间?在此处查看评论

因此,主要关注的是一种开发带有隔离的例程/状态的 ember 组件的方法,该方法很容易与也具有路由/状态的主应用程序集成回来。

编辑

我在绑定到唯一集成的主应用程序的组件中有两个值。此外,一旦集成,组件路由必须作为应用程序路由的一部分。

在开发过程中,我应该能够做到

话虽如此,我现在遇到的主要问题是关于使用“ApplicationControler”的主应用程序和组件

更新

类似问题

ember.js 是否鼓励过多的控制器?

0 投票
1 回答
708 浏览

serialization - EmberJS - find / findAll 和 Route.deserialize 和 Route.serialize 有什么关系?

您好,在回答精彩问题Ember.js - CRUD 场景 - 从 Route查找和 findAll 中指定视图时,提到要在模型上使用自动反序列化 URL。

这个界面是什么样子的,它真的是模型而不是控制器吗?

一个例子会很棒。

0 投票
2 回答
2206 浏览

ember.js - 你如何测试你的 emberjs 路由?

在几个月没有看 emberjs 之后,我现在正试图回到它,因此我正在尝试新的路由器。我想测试我的路线。

有没有人尝试用 emberjs 编写一些路由测试?

让我们假设非常基本的以下路由器:

您如何测试加载root.index路线是否正确加载HomeView

0 投票
1 回答
702 浏览

ember.js - EmberJS 路由:从父级创建子路由

我正在尝试创建一条路由以在父级上添加子实体。我的路由器看起来像这样。我在父母的节目中有一条嵌套路线,我很确定这是错误的。这样做似乎停止了页面转换之间的 URL 更改,并且当我从父模板通过 导航到 addChild 路由时{{action doAddChild href=true}},URL 中的 :parent_id 未定义。我猜这是因为我没有在应该是父项的操作上设置上下文,但是我从哪里得到呢?

实现这一目标的最佳方法是什么?我显然是在吠叫错误的树...

0 投票
3 回答
18962 浏览

javascript - EmberJS:如何从控制器的动作过渡到路由器

我有一个动作:

我的目标是绑定控制器(而不是路由器),如下所示:

如何从控制器操作重定向回路由?

0 投票
1 回答
1188 浏览

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

0 投票
3 回答
4011 浏览

ember.js - Ember.js 路由 - 有条件地阻止路由/状态更改

我试图弄清楚如何防止或暂停路线更改。对于我的编辑屏幕,如果用户在未保存更改时导航离开(后退按钮或其他机制),我想提示他们确保他们想要离开页面。与 非常相似window.onbeforeunload,但通过路由器。

以前版本的 Ember 中的状态图为您提供了一个可以使用的转换对象。似乎在 ember-latest 中,情况不再如此。那么解决这个问题的最佳方法是什么?


编辑:

上述问题很旧,列出的答案已过时。Ember 现在有一种本地方式来处理这个问题。请参阅文档:http ://emberjs.com/guides/routing/preventing-and-retrying-transitions/

0 投票
2 回答
8141 浏览

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() 之类的方法,它会告诉我:

这将发生在:

  1. App.Person.find()
  2. App.Person.createRecord({})
  3. App.Store.find(App.Person)
  4. 其他几种方法(当我想到它们时,我会更新此列表)

问题

  1. 我是否使用这些工具以正确的方式创建新记录?
  2. 为什么我会在上面收到此错误?(如果你打开你的网络检查器,你会看到这个错误,暂停未捕获的异常并确保你在结果(fiddle.jshell.net)框架中,而不是)
0 投票
15 回答
24318 浏览

ember.js - emberjs - 如何使用路由器基础设施标记活动菜单项

我正在尝试创建导航选项卡(取自Twitter Bootstrap):

活动选项卡标有class="active"

http://jsfiddle.net/schawaska/pfbva/上有一个很好的静态导航栏和路由器/插座功能示例,但我不明白如何创建动态导航栏/菜单/选项卡视图。

据我了解,可以在每个菜单项中使用类绑定:

但是切换 isActive 属性的正确位置在哪里?

0 投票
1 回答
725 浏览

ember.js - 如何将 App.Router 拆分为几个独立的块?

我的 App.Router 变成了一个巨大的难以管理的单块代码

有没有办法以不那么冗长的方式声明路由并且没有复制粘贴?如何将路由器声明拆分为更小的独立部分?