반응형
Vue js : _이것.$syslog는 함수가 아닙니다.
Vue 구성 요소 call imageUpload 및 v-model로 속성 전달을 생성했습니다.
<image-upload v-model="form.image"></image-upload>
그리고 그 안에서imgeUpload
컴포넌트 이 코드가 있습니다.
<input type="file" accept="images/*" class="file-input" @change="upload">
upload:(e)=>{
const files = e.target.files;
if(files && files.length > 0){
console.log(files[0])
this.$emit('input',files[0])
}
}
그리고 나는 받았다.
Uncaughed Type Error: _이것.$syslog는 함수가 아닙니다.
감사해요.
굵은 화살표로 방법을 정의하지 마십시오.용도:
upload: function(e){
const files = e.target.files;
if(files && files.length > 0){
console.log(files[0])
this.$emit('input',files[0])
}
}
굵은 화살표로 메서드를 정의하면 어휘 범위를 캡처합니다.즉,this
포함 범위를 가리킵니다(종종window
, 또는undefined
Vue가 아닙니다.
이 오류는 $emit이 현재 컨텍스트/참조 목록에 없는 경우 표면화됩니다.this
(아마도 당신이 에 있을 때)then
또는catch
약속의 방법이 경우 다음 참조를 캡처합니다.this
그 때 사용한다는 약속에서 벗어나서$emit
성공했습니다.
<script type="text/javascript">
var Actions = Vue.component('action-history-component', {
template: '#action-history-component',
props: ['accrual'],
methods: {
deleteAction: function(accrualActionId) {
var self = this;
axios.post('/graphql',
{
query:
"mutation($accrualId: ID!, $accrualActionId: String!) { deleteAccrualAction(accrualId: $accrualId, accrualActionId: $accrualActionId) { accrualId accrualRate name startingDate lastModified hourlyRate isHeart isArchived minHours maxHours rows { rowId currentAccrual accrualDate hoursUsed actions { actionDate amount note dateCreated } } actions {accrualActionId accrualAction actionDate amount note dateCreated }} }",
variables: {
accrualId: this.accrual.accrualId,
accrualActionId: accrualActionId
}
}).then(function(res) {
if (res.data.errors) {
console.log(res);
alert('errors');
} else {
self.$emit('accrualUpdated', res.data.data.deleteAccrualAction);
}
}).catch(function(err) {
console.log(err);
});
}
}
});
간단히 말하면 다음과 같은 방법으로 방법을 작성할 수 있습니다.upload(e) {
대신upload:(e)=>{
컴포넌트에 이 점을 강조합니다.
여기 전체 예가 있습니다.
watch: {
upload(e) {
const files = e.target.files;
if(files && files.length > 0) {
console.log(files[0]);
this.$emit('input',files[0]);
}
}
}
언급URL : https://stackoverflow.com/questions/43073797/vue-js-this-emit-is-not-a-function
반응형
'source' 카테고리의 다른 글
지연 배열을 $.when()에 전달합니다. (0) | 2023.01.09 |
---|---|
여기서 구는 조건을 건너뜁니다. (0) | 2023.01.09 |
높은 CPU 소비량 MySQL (0) | 2023.01.09 |
PHP의 ::(이중 콜론)과 ->(화살표)의 차이점은 무엇입니까? (0) | 2022.12.25 |
wp_usermeta 테이블의 여러 행에 적격 데이터가 있는 사용자를 선택합니다. (0) | 2022.12.25 |