开发者问题收集

Livewire @entangle

2021-05-13
2562

我是 Livewire 新手,有一个问题。

在我的 Livewire blade 中,我有一个 JS 函数,它调用一个组件方法来更新 $this->questions。

    function QuestionBatchRequest() {
        Livewire.emit('moreQuestions');
        this.dispatchEvent(new Event('moreQuestions'));
    }

这有效,因为我可以输出到输入框并查看数据变化。

然后我有

    document.addEventListener('livewire:load', () => {

        window.livewire.on('QuestionBatchListener', () => {
            let data = @entangle('questions');
            myUnityInstance.SendMessage("JS-Unity", "InjectQuizData", data);
        });

    });

如何将更新的 $this->questions 直接获取到我的 JS 变量中?

这是我组件中的方法

$this->questions = json_encode($data, JSON_UNESCAPED_SLASHES);
$this->emit('QuestionBatchListener');

此函数是从同一页面上的 Unity 游戏中调用的。初始问题集在页面加载时收到并且运行良好。

1个回答

好的,所以我将

let data = @entangle('questions');

更改为

let data = @this.get('questions');

...

user3467896
2021-05-13