给出具有嵌套属性的复杂模型(如下所示)。渲染深层嵌套布局的最佳实践是什么?
- mainView
---- userInfoView
------ socialInfoView
-------- socialCollectionsView
&符号状态不支持“深度模型”。它似乎相当平坦(一个级别,然后你可以自己的类型,如'reviewModel')。 < - 我想避免创建这些新类型。我知道有一个孩子的东西,但我不认为它适用。基本上,我如何保持我的复杂模型而不破坏它,并使我的嵌套(视图/子视图)布局清晰可读。
{
firstName: 'John',
lastName: 'Doe',
"social": {
"linkedin": {
"connections": 123,
"positions": [{
image: 'bla.jpg'
"title": "CTO & Co - founder"
}, {
image: 'bla2.jpg'
"title": "prime minister"
}, ],
"friends": [{
name: james,
a: 'b'
}, {
name: jane,
x: 'y'
}],
"languages": ['english', 'russian']
},
"twitter": {
"connections": 122
}
},
}
答案 0 :(得分:1)
如果您不需要观察深层数据的变化,那么您只需使用“对象”即可。像“社交”这样的道具的数据类型。并在您的视图中访问this.model.social.linkedin.connections
。
否则,您需要使用children hash(代码)或'state' data type(代码),因为它们会自动设置侦听器。
当你想观察深层嵌套数据的变化时,& 要求你明确事物(你试图避免的新类型)。
Ampersand的方式是尽可能选择小型的,单一关注的模型/视图,并从小的,单一关注的模型中构建不可避免的复杂模型。
答案 1 :(得分:0)
" state.children"可能就是你要找的东西。或尝试"道具"类型'州'。