【发布时间】:2021-11-07 15:01:33
【问题描述】:
查看文档https://laravel-livewire.com/docs/2.x/events#from-js 在 javascript 中使用 Livewire 组件
<script>
Livewire.emit('postAdded')
</script>
我看不到 Livewire 是什么?声明 var ?我怎么才能得到它。 我需要从 JS 代码中获取一些 var 的值并运行组件方法。 我该怎么做?
修改块 #2:
在我的组件的模板中定义:
<div class="admin_page_container" id="facilities_admin_page_container">
...
在我的 alpinejs 组件的方法中我做
function adminFacilitiesComponent() {
return {
getSubmitLabel: function (component) {
const doc = document.getElementById("facilities_admin_page_container");
console.log('doc::')
console.log(doc)
var updateMode = window.livewire.find(doc.getAttribute("wire:updateMode"))
// But I got error : index.js:31 Uncaught (in promise) TypeError: Cannot read property '$wire' of undefined
// I see content of doc in browser's console : https://prnt.sc/1sdu4f1
console.log('updateMode::')
console.log(updateMode)
在我的组件中我定义了:
namespace App\Http\Livewire\Admin;
...
class Facilities extends Component
{
...
public $updateMode = 'browse';
我只是尝试在 JS getSubmitLabel 函数中获取 $updateMode 的值...
谢谢!
【问题讨论】:
-
检查我的答案
标签: laravel-livewire alpine.js