Ember.js emberjs:创建多对多关联

Ember.js emberjs:创建多对多关联,ember.js,ember-data,Ember.js,Ember Data,在编辑用户配置文件的大型表单中,我希望与没有自己路径的不同数据类型建立一些多对多关联。我希望既有基于文本的自动完成,又允许创建次要数据类型的新实例。一旦我创建了控制器并将其与模板的该部分关联,这两项都很容易: 我如何创建一个SomeOtherTypecontroller并将其实例化并添加到应用程序中,即使没有与之关联的路由?当用户输入文本时,我可以使用它来查询api,所以我不需要在创建时填充它 如何使用该控制器作为上下文呈现用户配置文件模板的一部分,以便操作正确映射到该控制器并从中获取数据 提前

在编辑用户配置文件的大型表单中,我希望与没有自己路径的不同数据类型建立一些多对多关联。我希望既有基于文本的自动完成,又允许创建次要数据类型的新实例。一旦我创建了控制器并将其与模板的该部分关联,这两项都很容易:

我如何创建一个SomeOtherTypecontroller并将其实例化并添加到应用程序中,即使没有与之关联的路由?当用户输入文本时,我可以使用它来查询api,所以我不需要在创建时填充它

如何使用该控制器作为上下文呈现用户配置文件模板的一部分,以便操作正确映射到该控制器并从中获取数据


提前谢谢

我想您想要做的事情可以通过
needs
API轻松实现

例如:

App.ExampleController = Ember.Controller.extend({
  needs: ['another'],
  anotherController: (function() {
    return this.controllerFor('another');
  }).property(),
  someObserver: (function() {
    return this.get('anotherController.someValue');
  }).observes('anotherController.someValue')
});
除了使用
.property()
.observer()
进行绑定之外,您还可以执行以下操作:

 App.ExampleController = Ember.Controller.extend({
   needs: ['another'],
   anotherControllerBinding: 'controllers.another'
 });
请注意,在示例中,
另一个控制器
不需要对应于任何路由。 有关
needs
API的更多信息,请查看


希望它能有所帮助。

我想通过
needs
API可以轻松实现您的目标

例如:

App.ExampleController = Ember.Controller.extend({
  needs: ['another'],
  anotherController: (function() {
    return this.controllerFor('another');
  }).property(),
  someObserver: (function() {
    return this.get('anotherController.someValue');
  }).observes('anotherController.someValue')
});
除了使用
.property()
.observer()
进行绑定之外,您还可以执行以下操作:

 App.ExampleController = Ember.Controller.extend({
   needs: ['another'],
   anotherControllerBinding: 'controllers.another'
 });
请注意,在示例中,
另一个控制器
不需要对应于任何路由。 有关
needs
API的更多信息,请查看


希望能有所帮助。

据我所知,这是正确的-目前余烬数据中存在一个bug,以这种方式加载hasMany关系不会触发更改事件,因此,我最终需要在侧面加载项并将它们绑定到控制器。据我所知,这是正确的-目前余烬数据中存在一个bug,以这种方式加载多个关系不会触发更改事件,因此我最终需要在侧面加载项并将它们绑定到控制器