lesson 26: two-way binding

This commit is contained in:
Andreas Zweili 2021-01-18 20:56:35 +01:00
parent 4fc96365f6
commit 2926059c42
2 changed files with 36 additions and 32 deletions

View File

@ -1,22 +1,25 @@
const app = Vue.createApp({
data() {
return {
counter: 0,
name: ''
};
},
methods: {
setName(event, lastName) {
this.name = event.target.value + ' ' + lastName;
data() {
return {
counter: 0,
name: "",
};
},
add(num) {
this.counter = this.counter + num;
methods: {
setName(event, lastName) {
this.name = event.target.value;
},
add(num) {
this.counter = this.counter + num;
},
reduce(num) {
this.counter = this.counter - num;
// this.counter--;
},
resetInput() {
this.name = "";
},
},
reduce(num) {
this.counter = this.counter - num;
// this.counter--;
}
}
});
app.mount('#events');
app.mount("#events");

View File

@ -1,28 +1,29 @@
<!DOCTYPE html>
<html lang="en">
<head>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vue Basics</title>
<link
href="https://fonts.googleapis.com/css2?family=Jost:wght@400;700&display=swap"
rel="stylesheet"
/>
<link href="https://fonts.googleapis.com/css2?family=Jost:wght@400;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="styles.css" />
<script src="https://unpkg.com/vue@next" defer></script>
<script src="app.js" defer></script>
</head>
<body>
</head>
<body>
<header>
<h1>Vue Events</h1>
<h1>Vue Events</h1>
</header>
<section id="events">
<h2>Events in Action</h2>
<button v-on:click="add(10)">Add 10</button>
<button v-on:click="reduce(5)">Subtract 5</button>
<p>Result: {{ counter }}</p>
<input type="text" v-on:input="setName($event, 'Schwarzmüller')">
<p>Your Name: {{ name }}</p>
<h2>Events in Action</h2>
<button v-on:click="add(10)">Add 10</button>
<button v-on:click="reduce(5)">Subtract 5</button>
<p>Result: {{ counter }}</p>
<input type="text" v-model="name">
<button v-on:click="resetInput">Reset Input</button>
<p>Your Name: {{ name }}</p>
</section>
</body>
</body>
</html>