Study(56)
-
[Vue.js] url 뒤에 붙는 #(hashtag) 없애기
브라우저로 볼 때 자꾸 url 뒤에 #이 붙는다.예를들어 http://127.0.0.1:8080/#/ 이런식으로vue-router 설정인 src/router/index.js에 한 줄만 추가해주면 된다. (vue cli를 이용하여 webpack 사용) import Vue from 'vue'; import Router from 'vue-router'; import HelloWorld from '@/components/HelloWorld'; Vue.use(Router); export default new Router({ mode: 'history', routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld, }, ], }); mode: 'history..
2019.01.13 -
[vue.js] Eventbus 만들기
이벤트버스는 vuex사용하지 않은 상태로부모자식간에 데이터를 주고받기 위해 사용하였는데,사용하다보니 vuex를 사용하는 것이 가장 베스트일거라는 생각이 들었다. main.js Vue.prototype.$EventBus = new Vue() a.vue (이벤트버스 발송하는 곳) export default {...methods: {sendEventbus: function() {this.$EventBus.$emit("result", "오오")}}...}오오 보내기이런식으로 연결해놓는다. b.vue (이벤트버스 받는 곳)export default {...created() {this.$EventBus.$on("result", function(data){console.log(data)})}...)이벤트버스는 cre..
2018.10.22 -
[Vue.js] 페이징 로직
Previous 1 ... {{ n }} ... {{ results.totalPages }} Next showPagingButton: function(n) { const vm = this var thisPage = vm.results.number + 1 var totalPage = vm.results.totalPages + 1 //[조건] 5페이지가 넘어가면 //[결과] 1 ~ 4페이지 숨겨주기 var cond1 = (thisPage 5) //[조건] 마지막페이지 ~ 마지막페이지-4 까지이면 //[결과] 마지막페이지-4를 제외한 나머지 페이지들 숨겨주기 var cond2 = (thisPage > (totalPage - 5)) && (n < (totalPage - 5)) //[조건]..
2018.10.22 -
[Vue.js] promise 사용하기
promise를 사용하여 api콜하는 부분을 디자인해주었음mixin의 promise부분을 살리고 vm.promise(function)와 같이 사용하면 될듯then 안에서 promise가 리턴되어야 그 결과값을 바탕으로 다음 then으로 넘어감 mixin.js export default { methods: { promise: function(func){ //프로미스 만들기 return new Promise(function(resolve, reject){ resolve(func()) }) }, call: function(action) { var vm = this var successResult vm.promise(function(){ if (action.confirmMsg !== undefined) retu..
2018.09.20 -
[Vue.js] class를 만들어 vue객체 사용하기
여기서 class는 html의 class가 아닌 객체지향 프로그래밍의 class임을 말합니다. 아래 코드는 REST API 방식으로 구현하기 위해 만든 디자인 (참고용) main.js import Vue from 'vue' import Apifrom './services/ApiCall' Vue.prototype.$api = new Api(new Vue()) ApiCall.js import axios from 'axios' import apiUrl from './api.call.js' class ApiCall { constructor (vue) { this.apiInfo = apiUrl.data() this.vueInstance = vue } userData (callBack) { this.callApi(..
2018.09.20 -
[Vue.js] mixin 전역 등록하기
지금까지 mixin을 사용하기 위해 각 컴포넌트 마다 export default { ... mixin: mixin ... }을 해주었는데귀찮으니 전역으로 선언을 해주기로 하자 main.js import Vue from 'vue' import myMixin from './mixins/mixins' Vue.mixin(myMixin)
2018.09.20 -
[vue] img src data binding
부모 컴포넌트의 부분this.items = [ { "title": data.item_type[100], "img": require("@/assets/img/i-move.png") }, { "title": data.item_type[200], "img": require("@/assets/img/i-rainbow.png") }, { "title": data.item_type[300], "img": require("@/assets/img/i-random.png") } ] 자식 컴포넌트의 부분
2018.09.07