小编Jer*_*oek的帖子

新的 Symfony UX Live 组件可以工作,但不能交互更新

一位客户要求我研究 Symfony UX 的Live Components以在内部项目中使用。我们/他们已经脱离了它的 alpha 状态,而且它可能会随着时间的推移而改变和打破,所以没有必要指出这一点。

问题是:我一切正常,但 Live 组件就像常规的 Twig 组件一样,在不刷新页面的情况下实际上不会交互式更新。我已经从字面上从文档中获取了一个示例,试图让它运行,但它只是不会更新。有熟悉这些组件的人能够指出我可能做错了什么吗?

首先,我已将该组件包含在 Composer 中:

    "require": {
        ...
        "symfony/ux-live-component": "^2.4",
        ...
    }
Run Code Online (Sandbox Code Playgroud)

package.json还包含所需的内容:

    "devDependencies": {
        ...
        "@hotwired/stimulus": "^3.0.0",
        "@symfony/stimulus-bridge": "^3.2.0",
        "@symfony/ux-live-component": "file:vendor/symfony/ux-live-component/assets",
        ...
    }
Run Code Online (Sandbox Code Playgroud)

我的 webpack 配置中启用了 Stimulus 桥:

Encore.enableStimulusBridge('./assets/controllers.json')
Run Code Online (Sandbox Code Playgroud)

我已将其引导文件包含在我的主 JS 文件中:

import './bootstrap';
Run Code Online (Sandbox Code Playgroud)

最后我制作了这个组件和模板:

<?php

declare(strict_types=1);

namespace App\Component;

use Symfony\UX\LiveComponent\Attribute\AsLiveComponent;
use Symfony\UX\LiveComponent\Attribute\LiveProp;
use Symfony\UX\LiveComponent\DefaultActionTrait;

#[AsLiveComponent('random_number')]
class RandomNumberComponent
{
    use DefaultActionTrait;

    #[LiveProp(writable: true)]
    public int $max = 1000;

    public function getRandomNumber(): int
    {
        return rand(0, $this->max); …
Run Code Online (Sandbox Code Playgroud)

php symfony

1
推荐指数
1
解决办法
2368
查看次数

标签 统计

php ×1

symfony ×1