最重要的起点是没有“添加”选项。我无法识别“拼接”功能!随着拼接的注意,我接受了答案。
我打算在我的下一个项目中使用 knockout.js。但我需要相当于 c# Collection 的javascript。
-添加 -删除 -包含
对于这个要求,我有两个标准。
- 生产就绪
- 很好的表现
这个的Javascript版本
public class UserResponse
{
public Question Question { get; set; }
public Answer SelectedAnswer { get; set; }
}
public class Answer
{
public string Name { get; set; }
}
public class Question
{
public int Id { get; set; }
public string Name { get; set; }
public List<Answer> Answers{ get; set; }
}
// User dont need to response every question
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public List<UserResponse> Responses{ get; set; }
public void AddResponse(UserResponse response)
{
// Find if another answer for response.Question and remove it
var res=Responses.Where(p => p.Question == response.Question).FirstOrDefault();
if (res != null)
Responses.Remove(res);
// Add new response
Responses.Add(response);
}
}
骨干:1 - 淘汰赛:0
http://documentcloud.github.com/backbone/#Collection-add