我有这个矩阵:
<md-grid-list md-cols="4" md-row-height="4:1" md-gutter="8px">
<md-grid-tile class="gray" md-colspan="4">
<div layout="column" layout-fill>this is a static row</div>
</md-grid-tile>
<md-grid-tile class="gray" ng-repeat="item in appCtrl.items" md-colspan="4">
<div layout="row" flex>
<div flex>this row</div>
<div flex>should repeat</div>
<div flex>for every</div>
<div flex>item</div>
</div>
</md-grid-tile>
</md-grid-list>
这个功能:
const initialState = Immutable.fromJS({
board: [
['','',''],
['','',''],
['','','']
]
});
我试过阅读ImmutableJS文档,但找不到任何关于在矩阵内设置值的内容(“List”类型的ImmutableJS)。
答案 0 :(得分:2)
您可以使用setIn
但它不会改变该值。这就是ImmutableJS的观点。它将返回原始数据结构的略微更改版本。如果您只是在一行上写getIn
并且没有在任何地方分配结果,那么什么都不会发生。什么都不会改变。这就是重点。
setIn
和.slice()
非常有用。如果某些东西不存在,它们也可以提供默认值。我也不认为你需要const initialState = Immutable.fromJS({
board: [
['','',''],
['','',''],
['','','']
]
});
const nextState = initialState.setIn(['board', 0, 0], 'Hi')
// Now nextState has 'Hi' in it's first column and row.
// initialState is still the same as it was, it is not changed.
。你根本不需要克隆任何东西。
它是一个不可改变的数据结构,没有人可以改变它,这是美丽的部分。
begin tran
insert into sometable
select some columns