1

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

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

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

提前致谢!

4

1 回答 1

1

我想你想要做的事情可以通过needsAPI 轻松实现。

例如:

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'
 });

请注意,在示例AnotherController中 不需要对应于任何路由。有关needsAPI 的更多信息,请查看此处

希望能帮助到你。

于 2013-07-07T20:21:35.600 回答