반응형
Vue 컴포넌트 Vue-Instant
검색을 위한 자동 제안을 하고 다음과 같은 예제 코드를 얻기 위해 vue-instant를 방금 설치했습니다.
https://jsfiddle.net/santiblanko/dqo6vr57/
질문은 컴포넌트를 어떻게 이동하느냐입니다.'vue-instant': VueInstant.VueInstant
다음과 같은 새로운 Vue 컴포넌트로 이동합니다.
Vue.component('vue-instant-component', {
//vue-instant
}
난 이런 걸 해봤어
Vue.component('vue-instant', {
data: {
value: '',
suggestionAttribute: 'original_title',
suggestions: [],
selectedEvent: ""
},
methods: {
clickInput: function() {
this.selectedEvent = 'click input'
},
clickButton: function() {
this.selectedEvent = 'click button'
},
selected: function() {
this.selectedEvent = 'selection changed'
},
enter: function() {
this.selectedEvent = 'enter'
},
keyUp: function() {
this.selectedEvent = 'keyup pressed'
},
keyDown: function() {
this.selectedEvent = 'keyDown pressed'
},
keyRight: function() {
this.selectedEvent = 'keyRight pressed'
},
clear: function() {
this.selectedEvent = 'clear input'
},
escape: function() {
this.selectedEvent = 'escape'
},
changed: function() {
var that = this;
this.suggestions = [];
axios.get('https://api.themoviedb.org/3/search/movie?api_key=342d3061b70d2747a1e159ae9a7e9a36&query=' + this.value)
.then(function(response) {
response.data.results.forEach(function(a) {
that.suggestions.push(a)
});
});
}
}
})
근데 안 되네
질문을 조금 잘못 이해했습니다.원래 답은 다음과 같습니다.
위의 코드를 컴포넌트로 변환하는 방법은 다음과 같습니다.
Vue.component("movies",{
template:`
<div>
{{selectedEvent}}
<vue-instant :suggestion-attribute="suggestionAttribute" v-model="value" :disabled="false" @input="changed" @click-input="clickInput" @click-button="clickButton" @selected="selected" @enter="enter" @key-up="keyUp" @key-down="keyDown" @key-right="keyRight" @clear="clear" @escape="escape" :show-autocomplete="true" :autofocus="false" :suggestions="suggestions" name="customName" placeholder="custom placeholder" type="google"></vue-instant>
</div>
`,
data(){
return {
value: '',
suggestionAttribute: 'original_title',
suggestions: [],
selectedEvent: ""
}
},
methods: {
clickInput: function() {
this.selectedEvent = 'click input'
},
clickButton: function() {
this.selectedEvent = 'click button'
},
selected: function() {
this.selectedEvent = 'selection changed'
},
enter: function() {
this.selectedEvent = 'enter'
},
keyUp: function() {
this.selectedEvent = 'keyup pressed'
},
keyDown: function() {
this.selectedEvent = 'keyDown pressed'
},
keyRight: function() {
this.selectedEvent = 'keyRight pressed'
},
clear: function() {
this.selectedEvent = 'clear input'
},
escape: function() {
this.selectedEvent = 'escape'
},
changed: function() {
var that = this
this.suggestions = []
axios.get('https://api.themoviedb.org/3/search/movie?api_key=342d3061b70d2747a1e159ae9a7e9a36&query=' + this.value)
.then(function(response) {
response.data.results.forEach(function(a) {
that.suggestions.push(a)
})
})
}
},
components: {
'vue-instant': VueInstant.VueInstant
}
})
원답
위의 예를 Vue.component() 형식으로 옮깁니다.코드는 새 Vue()가 아니라 Vue.component()이어야 합니다.
제가 제대로 이해했다면, 당신이 찾는 구문은
Vue.component('vue-instant', VueInstant.VueInstant)
바이올린 업데이트
언급URL : https://stackoverflow.com/questions/46303992/vue-component-vue-instant
반응형
'programing' 카테고리의 다른 글
Z/OS에서 C++의 C 소켓 API를 사용하는 방법 (0) | 2022.08.14 |
---|---|
모바일의 MS 팀 내 인증 탭 (0) | 2022.08.14 |
비트 연산자와 "엔디안니스" (0) | 2022.08.14 |
i = (i, ++i, 1) + 1은 무엇을 합니까? (0) | 2022.08.14 |
인수와 함께 vuex namesched getters를 사용하는 방법 (0) | 2022.08.14 |