import { Controller } from "@hotwired/stimulus";
import consumer from "channels/consumer";
export default class extends Controller {
static targets = ["users", "roomId"]
connect() {
this.subscription = consumer.subscriptions.subscriptions.find(subscription =>
subscription.identifier === '{"channel":"RoomChannel"}');
console.log("CONNECTED")
console.log("Connected to room controller");
console.log("Element: ", this.element);
console.log("Users target: ", this.usersTarget);
console.log("Room ID target: ", this.roomIdTarget);
this.subscription.received = this.received.bind(this);
}
}
HTML:
<div data-controller="room">
<p>Joined users: <span data-target="users"></span></p>
<p>Room ID: <span data-target="roomId"></span></p>
</div>
DEV TOOLS LOGS:
- CONNECTED
- Connected to room controller
<div data-controller="room">
<p>Joined users: <span data-target="users"></span></p>
<p>Room ID: <span data-target="roomId"></span></p>
</div>
AND 4)
Error connecting controller
Error: Missing target element "users" for "room" controller