<template>
<fragment v-for="col in items" v-bind:key="col.id">
<template v-if="col.content">{{col.content.text}}</template>
<BlockRender
v-if="col.blocks && col.blocks.length"
:items="col.blocks"
></BlockRender>
</fragment>
</template>
<script>
export default {
data() {
return {
animals: [{
name: "spider",
params: {
size: '',
legsCount: '',
weight: ''
}
}, {
name: "dog",
params: {
weight: '',
breed: '',
height: '',
color: ''
}
}]
};
}
};
</script>
<template>
<form>
<fieldset v-for="animal of animals" :key="animal.name">
<legend>{{animal.name}}</legend>
<label v-for="(_, param) in animal.params" :key="`${animal.name}::${param}`">
<span>{{param}}:</span>
<input v-model="animal.params[param]">
</label>
</fieldset>
</form>
</template>
Для понимания механизма вызова функции, необходимо знать две вещи:
вызов функции и вызов метода — это одно и то же
вызов пользовательской функции и вызов внутренней функции обрабатываются по-разному
public function __toString()
{
return $this->name;
}
\Symfony\Component\Form\Extension\Core\Type\ColorType
в котором, судя по всему, ваша сущность кастится в строку.\App\Form\ColorType
метод getBlockPrefix
и все заработает:public function getBlockPrefix()
{
return 'app_color';
}
$str_0 = '';
$str_1 = '';
$str_2 = '';
$y = 0;
for($x = 1; $x <= 30; $x++) {
if($x % 2 !== 0) {
$str_1 .= $x . ',';
} else {
$str_2 .= $x . ',';
}
$y++;
if($y == 10) {
$str_0 .= $str_1 . $str_2;
$str_1 = '';
$str_2 = '';
$y = 0;
}
}
echo substr($str_0, 0, strlen($str_0) - 1);
//1,3,5,7,9,2,4,6,8,10,11,13,15,17,19,12,14,16,18,20,21,23,25,27,29,22,24,26,28,30
$numArr = count($array);
$numElems = count($array[0]);
$combinations = [];
$numCombinations = pow($numElems, $numArr);
for ($i = 0; $i < $numCombinations; $i++) {
$combination = [];
for ($j = 0; $j < $numArr; $j++) {
$arrIndex = $j;
$elIndex = $i / pow($numElems, $j) % $numElems;
$combination[] = $array[$arrIndex][$elIndex];
}
$combinations[] = $combination;
}