| | |
| | | <template> |
| | | <li> |
| | | <h2>{{ name }} {{ friendIsFavorite === "1" ? '(Favorite)' : '' }}</h2> |
| | | <h2>{{ name }} {{ isFavorite ? '(Favorite)' : '' }}</h2> |
| | | <button @click="toggleDetails"> |
| | | {{ detailsAreVisible ? 'Hide' : 'Show' }} Details |
| | | </button> |
| | |
| | | <li><strong>Phone:</strong> {{ phoneNumber }}</li> |
| | | <li><strong>Email:</strong> {{ emailAddress }}</li> |
| | | </ul> |
| | | <button @click="$emit('delete', id)">Delete</button> |
| | | </li> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | props: [ |
| | | 'name', |
| | | 'phoneNumber', |
| | | 'emailAddress', |
| | | 'isFavorite' |
| | | ], |
| | | // props: [ |
| | | // 'name', |
| | | // 'phoneNumber', |
| | | // 'emailAddress', |
| | | // 'isFavorite' |
| | | // ], |
| | | props: { |
| | | id: { |
| | | title: String, |
| | | required: true |
| | | }, |
| | | name: { |
| | | title: String, |
| | | required: true |
| | | }, |
| | | phoneNumber: { |
| | | title: String, |
| | | required: true |
| | | }, |
| | | emailAddress: { |
| | | title: String, |
| | | required: true |
| | | }, |
| | | isFavorite: { |
| | | title: Boolean, |
| | | required: false, |
| | | default: false, |
| | | // validator: function (value) { |
| | | // return value === '1' || value === '0'; |
| | | // } |
| | | }, |
| | | }, |
| | | emits:['toggle-favorite', 'delete'], |
| | | // emits: { |
| | | // 'toggle-favorite': function (id) { |
| | | // if (id) { |
| | | // return true; |
| | | // } else { |
| | | // return false; |
| | | // } |
| | | // } |
| | | // }, |
| | | data() { |
| | | return { |
| | | detailsAreVisible: false, |
| | | friend: { |
| | | id: "manuel", |
| | | name: "Manuel Lorenz", |
| | | phone: "01234 5678 991", |
| | | email: "manuel@localhost.com", |
| | | }, |
| | | friendIsFavorite: this.isFavorite, |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | this.detailsAreVisible = !this.detailsAreVisible; |
| | | }, |
| | | toggleFavorite() { |
| | | if (this.friendIsFavorite === '1') { |
| | | this.friendIsFavorite = '0'; |
| | | } else { |
| | | this.friendIsFavorite = '1'; |
| | | } |
| | | this.$emit('toggle-favorite', this.id); |
| | | }, |
| | | // deleteFriend(){ |
| | | // this.$emit('delete', this.id); |
| | | // } |
| | | }, |
| | | }; |
| | | </script> |