From c56b01f76d3544495473a2931400fd5e8eb5efaf Mon Sep 17 00:00:00 2001 From: Cristiano Magro <cristiano.magro@vola.it> Date: Fri, 27 Dec 2024 22:05:38 +0100 Subject: [PATCH] separazione template --- 06 - introducing components/xno-cmp-intro-01-starting-setup/app.js | 28 +++++++++++++++++++++++++++- 06 - introducing components/xno-cmp-intro-01-starting-setup/index.html | 12 +----------- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/06 - introducing components/xno-cmp-intro-01-starting-setup/app.js b/06 - introducing components/xno-cmp-intro-01-starting-setup/app.js index d6bb4d2..02950cf 100644 --- a/06 - introducing components/xno-cmp-intro-01-starting-setup/app.js +++ b/06 - introducing components/xno-cmp-intro-01-starting-setup/app.js @@ -1,7 +1,6 @@ const app = Vue.createApp({ data() { return { - detailsAreVisible: false, friends: [ { id: "manuel", @@ -20,6 +19,33 @@ }, computed: {}, watch: {}, + methods: {}, +}); + +app.component("friend-contact", { + template: ` + <li> + <h2>{{ friend.name }}</h2> + <button @click="toggleDetails"> + {{ detailsAreVisible ? 'Hide' : 'Show'}} Details + </button> + <ul v-if="detailsAreVisible"> + <li><strong>Phone:</strong> {{ friend.phone }}</li> + <li><strong>Email:</strong> {{ friend.email }}</li> + </ul> + </li> + `, + data() { + return { + detailsAreVisible: false , + friend : { + id: "manuel", + name: "Manuel Lorenz", + phone: "01234 5678 991", + email: "manuel@localhost.com", + } + }; + }, methods: { toggleDetails() { this.detailsAreVisible = !this.detailsAreVisible; diff --git a/06 - introducing components/xno-cmp-intro-01-starting-setup/index.html b/06 - introducing components/xno-cmp-intro-01-starting-setup/index.html index 41cb569..b79e182 100644 --- a/06 - introducing components/xno-cmp-intro-01-starting-setup/index.html +++ b/06 - introducing components/xno-cmp-intro-01-starting-setup/index.html @@ -18,17 +18,7 @@ </header> <section id="app"> <ul> - <li v-for="friend in friends" key="friend.id"> - <h2>{{ friend.name }}</h2> - <button @click="toggleDetails"> - {{ detailsAreVisible ? 'Hide' : 'Show'}} Details - </button> - <ul v-if="detailsAreVisible"> - <li><strong>Phone:</strong> {{ friend.phone }}</li> - <li><strong>Email:</strong> {{ friend.email }}</li> - </ul> - </li> - + <friend-contact></friend-contact> </ul> </section> </body> -- Gitblit v1.8.0