我有一个页面,我想要显示不同的用户组。到目前为止,我正在使用以下内容过滤UsersController(ArrayController)中的组。
users_controller.js.coffee:
App.UsersController = Ember.ArrayController.extend
content: []
group1: (->
@get('model').filterProperty('role', "group1")
).property('model.@each.type')
group2: (->
@get('model').filterProperty('role', "group2")
).property('model.@each.type')
group3: (->
@get('model').filterProperty('role', "group3")
).property('model.@each.type')
我可以使用以下内容遍历用户模板中的每个组(使用Emblem.js)。
users.emblem
.role
h3 Group 1
each user in group1
.segment
= link-to 'user' user | #{user.first} #{user.last}
p
span #{user.shortStory}
.role
h3 Group 2
= each user in group2
.segment
= link-to 'user' user | #{user.first} #{user.last}
p
span #{user.shortStory}
.role
h3 Group 3
= each user in group3
.segment
= link-to 'user' user | #{user.first} #{user.last}
p
span #{user.shortStory}
每个用户的模型都有一个“故事”。在UserController上,我有一个名为shortStory的方法,它将它缩短为100个字符左右的片段。 (见以下代码)
user_controller.js.coffee
App.UserController = Ember.ObjectController.extend
shortStory: (->
short = @get('story').substring(0, 100)
for i in short by - 1
if i == " "
break
else
short = short.slice( 0, -1)
short
).property('story')
我的问题是我无法让任何用户显示shortStory。我尝试了许多不同的语法,包括:
span= user.shortStory
span #{user.shortStory}
span= shortStory
span= #{user.shortStory}
如果有人知道如何在视图中循环使用UsersController过滤器方法时访问UserController方法会很棒。
我也对第一个过滤数据的其他建议持开放态度。我还很新鲜。
答案 0 :(得分:0)
找到这个问题的答案。我能够为每个循环添加一个itemController =“user”。这很有效。