gpt4 book ai didi

javascript - Ember.js - 为目标应用程序创建动态 filterProperty 值

转载 作者:行者123 更新时间:2023-11-30 05:58:59 26 4
gpt4 key购买 nike

首先,让我先声明一下,我是 Ember.js 的新手,也是软件开发的新手。我正在尝试构建一个事件日志应用程序,用户可以在其中发布类似于 twitter 或 facebook 的小文本更新,还可以创建每周目标,并且可以通过在发布更新时从目标下拉列表中选择来选择性地将帖子“应用”到目标。除了计算用户将帖子“应用”到特定目标的次数外,我已经能够使一切正常工作。所以这是下面代码的精简版本:(另外,我整理了一个 jsfiddle http://jsfiddle.net/jjohnson/KzK3B/3/ )

App = Ember.Application.create({});

App.Goal = Ember.Object.extend({
goalTitle: null,
timesPerWeek: null

});

App.Post = Ember.Object.extend({
postContent: null,
goal_name: null
});

App.postsController = Ember.ArrayController.create({
content: [
App.Post.create({ postContent: "went and played golf today, shot 69", goal_name: "Play a round of golf" }),
App.Post.create({ postContent: "went and played golf today, shot a 70", goal_name: "Play a round of golf" }),
App.Post.create({ postContent: "went to the range for an hour", goal_name: "Range practice" })
]




});

App.goalsController = Ember.ArrayController.create({
content: [
App.Goal.create({ goalTitle: 'Play a round of golf', timesPerWeek: 2 }),
App.Goal.create({ goalTitle: 'Range practice', timesPerWeek: 3 })
],

timesThisWeek: function() {
var value = "Play a round of golf";
var value2 = this.goalTitle;
return App.postsController.filterProperty('goal_name', value).get('length');
}.property('@each.goal_name')

});

所以,我想我已经接近解决这个问题了,但是即使我确信我忽略了一些非常简单的事情,我还是不能完全理解它。当我在 timesThisWeek 函数中放置一个静态目标名称值时,(var 值)timesThisWeek 计数适用于该特定目标。但是,如果我尝试为 handlebars 迭代器 (var value2) 创建添加一个“this”,我无法让 timesThisWeek 为相关目标工作。

我确信这是非常基本的,但我们将不胜感激!!!

最佳答案

使用 CollectionView 运行它,并在 View 中移动项目的绑定(bind)过滤 @ http://jsfiddle.net/MikeAski/KzK3B/5/

在模板中:

{{view Ember.CollectionView contentBinding="App.goalsController" itemViewClass="App.GoalView"}}

View 的 JS:

App.GoalView = Ember.View.extend({
templateName: "goal-view",
timesThisWeek: function() {
return App.postsController.filterProperty('goal_name', Ember.getPath(this, "content.goalTitle")).get('length');
}.property('App.postsController.content.@each')
});

但您也可以将此属性作为成员或 Goal 模型移动 (这取决于您的实际用例:我假设您也有不同的结果时间范围等) .

编辑

最新版本:http://jsfiddle.net/MikeAski/z3eZV/

关于javascript - Ember.js - 为目标应用程序创建动态 filterProperty 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10007013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com