我与在服务器端使用数据透视表实现的两个主干.js 模型具有多对多关系。我试图弄清楚如何在客户端构建它。我当前的结构是:
1)我有一个 Tag 模型和一个呈现复选框和标签标签的 TagView,我在复选框上有一个选中的事件,目前什么都不做。
- 我有一个TagsCollection,它包含一堆标签。
- 我有一个TagsCollectionView,它绑定了TagsCollection的添加、重置等,并为添加的标签添加了TagViews,呈现它们,并将html附加到它的当前html(重置时,html被重置)。
- 我有一个包含所有可能标签的全局 TagCollection 实例
- 我有一个 Notes 模型,它在初始化时包含一个(空)TagCollection,称为 selectedtags。
- 服务器为每个 Notes 返回一组选定的 tagid,我将其添加到其 TagCollection。
- 现在是困难的部分,将它们捆绑在一起.. 我的 NotesView 有自己的 TagsCollectionView 绑定到全局 TagsCollection (因此它可以列出所有标签).. 现在,我如何在其复选框上获得选中的事件sub TagViews 触发添加到此Notes 模型的 selectedtags?我是否应该在 init 上向 TagsCollectionView 提供对此 Notes 模型实例的引用,然后将其提供给它创建的所有 TagViews,其检查事件然后从该模型中添加/删除项目?这是我能弄清楚如何做到这一点的最佳方法,任何其他想法将不胜感激。