在v-for循环中将特定属性传递给每个视图实例

时间:2016-01-30 21:00:08

标签: javascript mvvm vue.js

是否有办法将特定属性绑定到v-for循环中的子vue组件的每个实例?

例如,请考虑以下vueify组件:

<template>
    ...
    <div class="cal-body">
        <div v-for="week in weeksInMonth">
            <cal-week class='cal-week' :weekdata="events-week$index" :events="events"></cal-week>
        </div>
    </div>
    ...
</template>

<script>
    module.exports = {
        ...
        computed:{
            return {
                events-week1:[
                    {...},
                    {...}
                ],
                events-week2:[
                    {...},
                    {...}
                ]
            }
        }        
    }
</script>

在此示例中,模板用于日历,其中每周组件是当前组件的子组件。

我知道我可以拥有events计算或数据属性并将其传入,但我只想传递属于特定周的事件。

我在下面尝试了这个并且它不起作用,我在文档中找不到办法。

有办法做到这一点吗?如果没有,有什么替代方案?

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该将您的事件周形式的计算数据移动到数据并将它们存储在像

这样的数组中
>> import scipy
>> m = scipy.zeros((10, 10))
>> id(m)
4455211696
>> m = scipy.array([[i * j for j in range(10)] for i in range(10)])
>> id(m)
4478936688

循环时,你可以

data: function(){
   return {
      events: {
         'events-week1':[
            {...},
            {...}
         ],
         'events-week2':[
            {...},
            {...}
         ]
      }
   }