问题标签 [ember-controllers]

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 投票
2 回答
962 浏览

ember.js - 在 Ember.js 中,当 ArrayController 上的属性发生变化时,如何通知 ArrayController 对应的 itemController

我有一个 EmailsController (ArrayController),它存储所有的电子邮件。我有一个 EmailController (ObjectController),它有一个参数,用于存储是否选择了实际的电子邮件。我正在尝试在电子邮件模板中实现一个按钮,用于选择或取消选择所有电子邮件。所以不知何故,我需要通过 EmailsController 的操作通知 EmailController 并更改 EmailController 的 isChecked 参数。

我正在尝试使用 itemController、需求和 controllerBinding 参数,但没有任何效果。

以下是控制器:

这是相应的 jsFiddle: http: //jsfiddle.net/JqZK2/4/ 目标是通过 Check All 按钮切换复选框的选择。

谢谢!

0 投票
1 回答
124 浏览

ember.js - Ember 模型为空,直到进入 Route

我有一个带有模型的 Ember 应用程序:

  • 食物
  • 膳食

(还有其他模型,但为简洁起见省略)。

路由器配置如下:

在我的食物模板中,我需要访问膳食列表才能打印它们。最初,我认为该needs属性FoodController可以解决问题。

然后在我的模板中尝试

...但没有显示任何内容。我实际上尝试了其他几种方法,但没有任何效果。

我怀疑在输入路线之前可能没有设置 MealsController 的模型meals

我完全被困在这里,文档没有帮助。非常感谢任何帮助。

0 投票
1 回答
187 浏览

javascript - Ember TextField valueBinding to controller issue

I am using the Twitter typeahead.js plugin. So to use it I am extend Ember's TextField. The plugin all works fine. Now I just want to make the value accessible inside the controller.

When I use the value binding inside the view class, it works fine. Here is the bin example. Here the value gets set initially and updates later. To test the text view type 'aaa'.

But when I try to set the value binding via the template, it doesn't seem to work. Here is the bin example. To test the text view type 'aaa'.

What am I doing wrong?

0 投票
1 回答
1790 浏览

javascript - ember.js 中的应用程序路由模型

我有以下代码,我试图为其设置模型,ApplicationRoute但它似乎不起作用。我对 Ember 代码有一些疑问。首先,我可以为申请路线设置一个模型吗?其次,如果路由模型具有名为 count 和 fileName 的字段,我是否还需要在控制器中声明这些字段。看起来如果我这样做,控制器中的值优先于模型值。即使在任何地方都没有定义总数 ,我也可以做类似this.set('total',5)的事情。setupController

0 投票
1 回答
599 浏览

javascript - Ember 需要 API;ReferenceError:未定义控制器

我正在做一个 Ember 项目。我显示从服务器传递的书籍和描述列表。然后用户可以点击链接到评论页面的特定书籍。但是,我想在评论页面上显示书籍描述。所以我了解到你可以使用 Needs API 从 book 控制器中获取这些信息。

但是,我尝试{{controllers.book.description}}在 HTML 中显示,它不会显示任何内容。所以我添加了以下操作以将其打印到控制台,但我收到了一个错误:Uncaught ReferenceError: controllers is not defined. 我用错了吗?谢谢您的帮助。

0 投票
1 回答
1490 浏览

javascript - Ember.js 从控制器调用模型的方法

有什么方法可以从控制器中获取模型?我需要调用模型上定义的实例方法和

不起作用,因为它丢失了被调用函数中的“this”调用上下文。

谢谢你。

0 投票
2 回答
1313 浏览

javascript - 在 Ember.js 中,如何从 App.Router 获取 rootURL?

如何在我的控制器中获取 App.Router 中的 rootURL 以在我的 JSON 请求中使用?

如果我指定这样的 rootURL:

我希望能够做这样的事情:

0 投票
0 回答
24 浏览

javascript - emberjs-1.7.0-beta.4 无法使用需要 api 访问另一个控制器的内容

我正在尝试使用需求 api从我的 IndexController 访问 PagesController 的内容。但它不起作用,我让它工作的唯一方法是添加一个 IndexRoute 并通过模型钩子加载它。有没有办法使用控制器需要 api 来访问另一个控制器的内容。这是 JSBIN:http: //jsbin.com/gubuvuhi/1/edit

页面控制器:

索引控制器:

页面路由:

此 index_template 不呈现 fetchPages:

但是当我添加一个 IndexRoute 并将 IndexTemplate 更改为此时,它可以工作并呈现正确的内容:

这是 IndexRoute,请注意

您将看到this.store.find('pages')在 IndexRoute 和 PagesRoute 中都重复出现,我想通过使用需要 api从 IndexController 获取 PagesController 的内容来避免这种情况。有没有办法做到这一点。这是 JSBIN:http: //jsbin.com/gubuvuhi/1/edit

0 投票
0 回答
12 浏览

ember.js - Ember - 尝试从 UsersController 或 UsersRoute 访问 CompaniesController 模型数据

为了简洁起见,我简化了这个故事。

我有 2 个基本模型,用户和公司,并在单独的模板上显示每个模型的列表。但是在用户列表上,我希望在顶部有一个下拉列表来过滤可见的用户。现在,我只需要在对数据进行一些按摩后,在用户视图中的公司模型/控制器中的公司列表(我只需要公司名称列表,而不是下拉列表中的整个对象)。

我的路线:

用户模型路由和用户路由控制器:

公司模型、路线和控制器:

Users.htm 模板(顶部是公司下拉列表,我只想要公司名称,底部是用户列表)

我在 UsersRoute 中尝试了几个衍生品

在获得公司模型(公司数组)之后,我想迭代它们并为 companyList 属性创建一个简单的列表数组,以填充用户模板中的下拉列表

我也在 UsersController 中尝试过很多衍生品

就我有两条正确显示模板的工作路线而言,一切正常,一条显示公司列表,一条显示用户列表(因此 restadapter 工作正常)。两个页面都显示和运行良好(mydomain.com/users 和 mydomain.com/companies),并分别深入到个人用户或公司。但是,我只想要用户页面上的公司列表,并且只进行 ajax 调用并获取公司列表(为什么不使用已经在商店中的公司)似乎很简单。

帮助我欧比,你是我唯一的希望。

0 投票
1 回答
1811 浏览

javascript - this.controller 在 Route 类中未定义

我正在使用 EmberJS 最新 1.7.0 开发 SPA,根据 Ember 文档,该路由包含一个包含对控制器的引用的属性,但它始终在我的所有路由中返回未定义。

并且在另一条路线上

两者console.log(this.controllerName);console.log(this.controller);都是未定义的,

如何正确使用 ember 控制器?似乎可行的唯一方法是通过 this.controllerFor()

更新:

我也尝试使用这种方法:

而且 currentTask 总是未定义的,所以它自己的控制器。