Vue.js是一個輕量級的JavaScript框架,專注于頁面的渲染和交互。它使用了現代的導向原則和最佳實踐,提供了簡單易用的API和生命周期鉤子,讓開發者可以更加高效地構建用戶界面。
在這里,我們將使用Vue.js創建一個簡單的APP。假設我們要創建一個待辦事項清單應用程序。以下是我們將要完成的功能:
1.添加新任務
2.標記已完成的任務
3.刪除任務
首先,我們需要在HTML文件中引入Vue.js。您可以下載并從本地文件夾引用它,或從外部CDN引用它。
```
```
接下來,我們需要為Vue創建一個容器。Vue.js使用“div”元素作為容器。我們會在容器中創建“v-app”類。
```
```
現在,我們需要創建一個Vue實例,將其綁定到容器“#app”上。 我們將創建一個data對象,其中包含一個數組,用于存儲待辦事項。
```
var app = new Vue({
el: '#app',
data: {
tasks: []
}
});
```
在我們的應用程序中,我們需要以下組件:
1.添加任務組件
2.任務項組件
我們將使用Vue組件來實現這些。
添加任務組件:
```
```
我們首先添加一個名為“new-task”的組件,并在其中包含一個輸入框和添加按鈕。輸入框使用“v-model”指令綁定到數據中的“title”屬性。
任務項組件:
```
{{ title }}
```
這個組件包含一個任務名稱,一個復選框(用來標記任務是否已完成),一個刪除按鈕,以及一個叫做“completed”的類名,如果任務已完成就會添加到“div”元素上。
我們還需要在Vue實例的“mounted”鉤子中注冊我們的組件:
```
Vue.component('new-task', {
template: '#new-task',
data: function() {
return {
title: ''
}
},
methods: {
addTask: function(event) {
event.preventDefault();
if(this.title) {
this.$emit('add-task', this.title);
this.title = '';
}
}
}
});
Vue.component('task-item', {
props: ['title', 'done', 'index'],
template: '#task-item',
methods: {
completeTask: function(event) {
this.$emit('complete-task', this.index);
},
removeTask: function(event) {
this.$emit('remove-task', this.index);
}
}
});
var app = new Vue({
el: '#app',
data: {
tasks: []
},
methods: {
addTask: function(title) {
this.tasks.push({ title: title, done: false });
},
completeTask: function(index) {
this.tasks[index].done = !this.tasks[index].done;
},
removeTask: function(index) {
this.tasks.splice(index, 1);
}
}
});
```
我們首先注冊了“new-task”和“task-item”組件。在組件中我們使用了“props”屬性,將父組件傳遞給子組件。
我們還需要處理添加任務,標記任務完成以及刪除任務的函數。我們通過使用“emit”事件來通知父組件,來將處理函數傳遞給父組件。
最后,我們將“new-task”組件放在容器中,并將“tasks”數組中的所有任務項傳遞給“task-item”組件:
```
```
現在,我們已經成功創建了一個簡單的待辦清單應用程序,使用Vue.js框架。我們使用Vue.js進行數據綁定,事件處理和創建組件,以實現應用程序的功能。