magento 如何让AlpineJS与PHP中的动态x数据一起工作?

2ic8powd  于 2022-12-13  发布在  PHP
关注(0)|答案(1)|浏览(122)

因此,我在PHTML文件中有一个类似这样的表(伪代码):

foreach ($_children as $child) {
echo '<table  x-data="{ showProduct-'. $child->getId() . ': false }">'

echo ' 
<tr>
 <td>
   <button x-on:click="showProduct-'. $child->getId() . ' = !showProduct-'. $child->getId() . '">
     Dropdown
   </button>
 </td>  
</tr>
'

echo '
<tr class="product-'. $child->getId() . '">
  <td class="product-card" colspan="8" x-show="showProduct-'. $child->getId() . '">
    Some Dynamic card content for every ID with PHP
  </td>
</tr>
    
</table>
'
}

我尝试从php端为我的模板文件中的每个product-ID加载一段依赖于ID的动态代码(卡片),我想根据该ID对应的按钮是否被点击来显示它。因此,如果带有x-data = showProduct-11的按钮被点击,则只显示该特定卡片。
然而,由于某种原因,它不起作用。
我怎么才能让这样的东西工作呢?

l7mqbcuq

l7mqbcuq1#

在JS中,连字符-就是subtraction operator,所以showProduct-11实际上是指:showProduct - 11。请将其替换为下划线(showProduct_'. $child->getId() . ')等,或将其删除以解决此问题。

相关问题