라라벨/livewire_study

라라벨 와이어 동작방법 버튼 카운터

땀모 2020. 4. 11. 21:13

1. 구성요소 추가

1
php artisan livewire:make Counter
cs


CLASS: app/Http/Livewire/Counter.php

VIEW:  resources/views/livewire/counter.blade.php


2. app/Http/Livewire/Counter.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
 
namespace App\Http\Livewire;
 
use Livewire\Component;
 
class Counter extends Component
{
    public $counter;
 
    public function increment()
    {
        $this->counter++;
    }
 
    public function decrement()
    {
        $this->counter--;
    }
 
    public function mount()
    {
        $this->counter = 0;
    }
 
    public function render()
    {
        return view('livewire.counter');
    }
}
 
cs


3. 디자인과 버튼에 메서드를 설정해준다. 

<div>
<p>{{ $counter }}</p>
<button wire:click="increment">+</button> | <button wire:click="decrement">-</button>
</div>


4. welcome.blade.php 파일에 주입해준다.

@livewire('counter')



5. input 박스에 더하기나 빼기 값을 넣어 줄 수 있음

<div>
<p>{{ $counter }}</p>
<p><input type="text" wire:model.lazy="step" ></p>
<button wire:click="increment">+</button> | <button wire:click="decrement">-</button>
</div>


6. Counter.php

<?php

namespace App\Http\Livewire;

use Livewire\Component;

class Counter extends Component
{
public $counter;

public $step;

public function increment()
{
$this->counter += $this->step;
}

public function decrement()
{
$this->counter -= $this->step;
}

public function mount()
{
$this->counter = 0;
$this->step = 1;
}

public function render()
{
return view('livewire.counter');
}
}


7. 키보드를 사용하게 할 수 도 있음

<div>
<p>{{ $counter }}</p>
<p><input
wire:keydown.arrow-up="increment"
wire:keydown.arrow-down="decrement"
type="text"
wire:model.lazy="step" ></p>

<button wire:click="increment">+</button> | <button wire:click="decrement">-</button>
</div>