Vue.js의 Todo 응용 프로그램 사용
15970 단어 JavaScriptVue.js
Vue.js를 사용하여 Todo 응용 프로그램 만들기
※Vue.js가 설치된 상태를 전제로 합니다.
Vue CLI 가져오기
FumioNonaka.com( http://fumiononaka.com/Business/html5/FN1807001.html )
Vue CLI란 Vue를 의미합니다.이것은 js에서 프로그램을 만드는 명령행 인터페이스를 기반으로 한 개발 도구입니다.
즉, Vue.js의 개발을 가볍게 하는 도구입니다.
Vue CLI 추가 - g(옵션) 설치
또한 전 세계에 설치를 통해 vue 명령을 수시로 실행할 수 있습니다.>npm install -g @vue/cli
프로젝트 작성
'vue create 프로젝트 이름' 으로 프로젝트를 만들 수 있습니다.>vue create todoapp
모드 선택.
모드를 선택합니다(기본 모두 설정).
・십자키로 이동, 스페이스 바로 선택
Vuetify 가져오기
Vuetify란 Vue를 가리킨다.js에서 사용할 수 있는 소재 디자인 프레임워크입니다.
작성된 프로젝트로 이동하고 다음을 클릭합니다.>vue add vuetify
실행하고 설치합니다.
프로젝트 폴더 구성
프로젝트 폴더의 파일은 다음과 같습니다.
부호화
・components 폴더(todoapp\src\components)에'TodoForm.vue'와'TodoList.vue'를 추가합니다.
TodoForm.vue<template>
<div>
<v-toolbar dark color="indigo">
<router-link to="/">
<v-icon>arrow_back</v-icon>
</router-link>
<v-toolbar-title class="while--text">My Todo</v-toolbar-title>
</v-toolbar>
<v-text-field v-model="newTodo" placeholder="Input Here...">
</v-text-field>
<v-btn dark color="indigo"
v-on:click="addTodo()" class="while--text">
ADD
</v-btn>
</div>
</template>
<script>
export default{
data(){
return{
newTodo:''
}
},
methods:{
addTodo(){
if(this.newTodo === '')return;
const todos = JSON.parse(localStorage.getItem('todos')) || [];
todos.push(this.newTodo);
localStorage.setItem('todos',JSON.stringify(todos));
this.newTodo = '';
this.$router.push('/');
}
}
}
</script>
<style scoped>
a{
text-decoration:none;
}
</style>
TodoList.vue<template>
<div>
<v-toolbar dark color="indigo">
<v-toolbar-title class="while--text">
My Todo
</v-toolbar-title>
</v-toolbar>
<v-list>
<template v-for="(todo,i) in todos">
<v-list-tile
v-bind:key="i">
<v-list-tile-content>
{{ todo }}
</v-list-tile-content>
<v-list-tile-action>
<v-btn flat icon
v-on:click="deleteTodo(i)">
<v-icon>delete</v-icon>
</v-btn>
</v-list-tile-action>
</v-list-tile>
<v-divider v-bind:key="i">
</v-divider>
</template>
</v-list>
<div class="bottom-right">
<v-btn fab color="indigo"
v-on:click="addTodo">
<v-icon color="while">add</v-icon>
</v-btn>
</div>
</div>
</template>
<script>
export default{
data(){
return{
todos:[]
}
},
created(){
this.todos = JSON.parse(localStorage.getItem('todos')) || [];
},
methods:{
deleteTodo(i){
this.todos.splice(i,1);
localStorage.setItem('todos',JSON.stringgify(this.todos));
},
addTodo(){
this.$router.push('/todos/add');
}
}
}
</script>
<style scoped>
.bottom-right{
position:fixed;
bottom:0px;
right:0px;
}
</style>
·다음으로 src 폴더(todoapp\src) 내의 "App.vue"를 다음과 같이 변경합니다.
App.vue<template>
<router-view></router-view>
</template>
・ 다음에 이 폴더 내의 "router.js"를 다음과 같이 변경합니다.
router.jsimport Vue from 'vue'
import Router from 'vue-router'
import TodoList from './components/TodoList'
import TodoForm from './components/TodoForm'
Vue.use(Router)
export default new Router({
mode:'history',
base:process.env.BASE_URL,
routes:[
{
path:'/',
component:TodoList
},
{
path:'/todos/add',
component:TodoForm
}
]
})
서버 시작
프로젝트로 이동한 다음>npm run serve
집행하다.
※ 서버 정지는 "Ctr+C"
・“http://localhost:8080/액세스"
• 실행화면 1
• 실행화면 2
• 실행화면 3
Reference
이 문제에 관하여(Vue.js의 Todo 응용 프로그램 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nkn55123s/items/12e5d2d697f01807bd6c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
>npm install -g @vue/cli
>vue create todoapp
>vue add vuetify
<template>
<div>
<v-toolbar dark color="indigo">
<router-link to="/">
<v-icon>arrow_back</v-icon>
</router-link>
<v-toolbar-title class="while--text">My Todo</v-toolbar-title>
</v-toolbar>
<v-text-field v-model="newTodo" placeholder="Input Here...">
</v-text-field>
<v-btn dark color="indigo"
v-on:click="addTodo()" class="while--text">
ADD
</v-btn>
</div>
</template>
<script>
export default{
data(){
return{
newTodo:''
}
},
methods:{
addTodo(){
if(this.newTodo === '')return;
const todos = JSON.parse(localStorage.getItem('todos')) || [];
todos.push(this.newTodo);
localStorage.setItem('todos',JSON.stringify(todos));
this.newTodo = '';
this.$router.push('/');
}
}
}
</script>
<style scoped>
a{
text-decoration:none;
}
</style>
<template>
<div>
<v-toolbar dark color="indigo">
<v-toolbar-title class="while--text">
My Todo
</v-toolbar-title>
</v-toolbar>
<v-list>
<template v-for="(todo,i) in todos">
<v-list-tile
v-bind:key="i">
<v-list-tile-content>
{{ todo }}
</v-list-tile-content>
<v-list-tile-action>
<v-btn flat icon
v-on:click="deleteTodo(i)">
<v-icon>delete</v-icon>
</v-btn>
</v-list-tile-action>
</v-list-tile>
<v-divider v-bind:key="i">
</v-divider>
</template>
</v-list>
<div class="bottom-right">
<v-btn fab color="indigo"
v-on:click="addTodo">
<v-icon color="while">add</v-icon>
</v-btn>
</div>
</div>
</template>
<script>
export default{
data(){
return{
todos:[]
}
},
created(){
this.todos = JSON.parse(localStorage.getItem('todos')) || [];
},
methods:{
deleteTodo(i){
this.todos.splice(i,1);
localStorage.setItem('todos',JSON.stringgify(this.todos));
},
addTodo(){
this.$router.push('/todos/add');
}
}
}
</script>
<style scoped>
.bottom-right{
position:fixed;
bottom:0px;
right:0px;
}
</style>
<template>
<router-view></router-view>
</template>
import Vue from 'vue'
import Router from 'vue-router'
import TodoList from './components/TodoList'
import TodoForm from './components/TodoForm'
Vue.use(Router)
export default new Router({
mode:'history',
base:process.env.BASE_URL,
routes:[
{
path:'/',
component:TodoList
},
{
path:'/todos/add',
component:TodoForm
}
]
})
>npm run serve
Reference
이 문제에 관하여(Vue.js의 Todo 응용 프로그램 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nkn55123s/items/12e5d2d697f01807bd6c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)