Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在rails视图中实现每个_切片?_Javascript_Ruby On Rails_Twitter Bootstrap_Reactjs_React Rails - Fatal编程技术网

Javascript 如何在rails视图中实现每个_切片?

Javascript 如何在rails视图中实现每个_切片?,javascript,ruby-on-rails,twitter-bootstrap,reactjs,react-rails,Javascript,Ruby On Rails,Twitter Bootstrap,Reactjs,React Rails,我有父组件怪物,在那里我渲染怪物组件 for monster in @state.monsters React.createElement Monster, key: monster.id, monster: monster, team: @state.team... 怪物内部: div className: 'col-md-4', hr {} img className: 'img-responsive img-circle thumbnail' 问题是有一个

我有父组件怪物,在那里我渲染怪物组件

for monster in @state.monsters
      React.createElement Monster, key: monster.id, monster: monster, team: @state.team...
怪物内部:

div className: 'col-md-4',
  hr {}
  img
    className: 'img-responsive img-circle thumbnail'

问题是有一个引导列和行,它的中断。我需要像每个切片一样的方法,将每个(3)对象包装到引导行中。 我使用了lodash_chunk和custom Array.prototype变体,但react变量在这个循环中不可用

Array::each_slice = (size, callback) ->
  i = 0
  l = @length
  while i < l
    callback.call this, @slice(i, i + size)
    i += size
未捕获的TypeError:无法读取未定义的属性“team”


有人能帮我吗?

每个片的
回调中,
@
的值是不同的。要查看差异,请尝试以下操作:

console.log(@) # `@` is the React component
@state.array.each_slice 3, (slice) =>
  console.log(@) # `@` is `window`, the global object
  for component in slice
    React.createElement Monster, team: @state.team # ...
要在回调中保留值
@
,请使用“胖箭头”(
=>
),如下所示:

console.log(@) # the React component
@state.array.each_slice 3, (slice) =>
  console.log(@) # still the React component :)
  for component in slice
    React.createElement Monster, team: @state.team # ...

您能在视图中获取@state吗?
console.log(@) # the React component
@state.array.each_slice 3, (slice) =>
  console.log(@) # still the React component :)
  for component in slice
    React.createElement Monster, team: @state.team # ...