While immersing myself in learning Vue.js, I find myself in need of some guidance. Can someone kindly review my code and point me in the right direction? Below is the code snippet along with an explanation of what I am trying to achieve.
Below is the Vue.js app I am working on:
Vue.component('o365_apps_notifications', {
template:
`
<div class="notification is-success is-light">
// Call the name here and if added/removed.
</div>
`,
});
new Vue({
name: 'o365-edit-modal',
el: '#o365-modal-edit',
components: 'o365_apps_notifications',
data() {
return {
list: {},
movable: true,
editable: true,
isDragging: false,
delayedDragging: false,
options: {
group: 'o365apps',
disabled: true,
handle: '.o365_app_handle',
}
}
},
methods: {
add(index, obj) {
console.log(obj.name);
this.$data.list.selected.push(...this.$data.list.available.splice(index, 1));
this.changed();
},
remove(index, obj) {
console.log(obj.name);
this.$data.list.available.push(...this.$data.list.selected.splice(index, 1));
this.changed();
},
checkMove(evt) {
console.log(evt.draggedContext.element.name);
},
},
});
Here is the modal structure:
<div id="o365-modal-edit" class="modal">
<div class="modal-background"></div>
<div class="modal-card px-4">
<header class="modal-card-head">
<p class="modal-card-title">Applications</p>
<button class="delete" aria-label="close"></button>
</header>
<section class="modal-card-body">
<div class="container">
<div id="o365-modal-edit-wrapper">
<div class="columns">
<div class="column is-half-desktop is-full-mobile buttons">
// Empty
</div>
<div class="column is-half-desktop is-full-mobile buttons">
// Empty
</div>
</div>
</div>
</div>
</section>
<footer class="modal-card-foot">
<o365-apps-notifications></o365-apps-notifications>
</footer>
</div>
</div>
My Objective:
Within my modal, I have included the o365_apps_notifications
HTML tag, where the add()
and remove()
methods log a name each time they are triggered using console.log(obj.name);
. Additionally, the checkMove
method displays the same name during the dragging process as illustrated below:
How can I ensure that my component renders and outputs the name within the modal footer? I have attempted various methods but haven't been successful in triggering the component.
Is there a specific approach to implement a fading effect on the component after a certain period?
Your assistance is highly appreciated!