반응형
인스턴스에서 컴포넌트에 액세스하는 VueJ
인스턴스에서 컴포넌트의 메서드에 액세스하는 방법을 찾고 있습니다.
<button id="live" class="ui primary button" v-on:click.prevent="live">
Live Text
</button>
바로 내 안에 있어#app그리고 그것을 기동하기 위해서live내 컴포넌트 내부에서 메서드 사용Live.vuever 2.x 이전 버전에서는 많은 문서를 많이 찾았습니다.broadcast그리고.dispatch, 그러나 1시간 후에 를 사용하여 동작시키려 한 후$emit나는 더 이상 내가 무엇을 하고 있는지 잘 모르겠다.
<template>
<div v-if="loaded">
Live
</div>
</template>
<script>
export default {
data: function () {
return {
loading: false,
loaded: false,
}
},
methods: {
load: function (event) {
console.log('loading..')
this.loaded = !this.loaded
}
},
mounted: function () {
// this.$on('liveClick', function (msg) {
// console.log(msg)
// })
},
name: 'Live',
props: {
'id': Number,
'key': String
}
}
</script>
그리고.init.js(라벨 기반 구조입니다)
window.App = new Vue({
el: '#app',
methods: {
live: function (event) {
this.$emit('liveClick', 'msg')
}
}
})
Vuex는 이미 '회피책'을 사용했지만, 이 작업을 수행하기 위해 학습 곡선을 복잡하게 만들 필요는 없습니다.
jsfiddle:https://jsfiddle.net/c4s44qgy/1/
고정 바이올린은 https://jsfiddle.net/gr9c6h64/에서 찾을 수 있습니다.
기본적으로 메인 Vue 인스턴스의 컴포넌트에 데이터를 전달하려면 fielin에서 만든 것처럼 이 컴포넌트에 있는 소품을 사용해야 합니다.props: { loaded: String }다음으로 부모로부터 값을 전달합니다.:loaded='isLoaded'
당신이 하고 싶은 일은 아닌 것 같습니다만, 그것이 당신이 안고 있는 문제인 것 같습니다.도움이 됐으면 좋겠다!
언급URL : https://stackoverflow.com/questions/41463169/vuejs-accessing-components-from-instance
반응형
'programing' 카테고리의 다른 글
| Vuex는 객체에 새로운 어레이 속성을 추가하고 사후 대응 방식으로 변환 내부의 객체에 요소를 푸시합니다. (0) | 2022.07.17 |
|---|---|
| vuex 변환에서 값을 반환하시겠습니까?(새로 생성된 객체의 ID) (0) | 2022.07.17 |
| 서드파티 라이브러리를 사용한 VueJ 인쇄 요소 (0) | 2022.07.17 |
| C가 C++보다 현저하게 빠릅니까? (0) | 2022.07.17 |
| Vue 컴포넌트의 구조는 어떻게 해야 합니까?어떤 순서로 기능을 추가해야 합니까? (0) | 2022.07.17 |