当我看到@Emit
时,我在GitHub上看到了该示例。
import { Vue, Component, Emit } from 'vue-property-decorator'
@Component
export default class YourComponent extends Vue {
count = 0
@Emit()
addToCount(n: number) {
this.count += n
}
}
等同于
export default {
data() {
return {
count: 0
}
},
methods: {
addToCount(n) {
this.count += n
this.$emit('add-to-count', n)
}
}
}
问题:
我想知道如何修改此参数n
。
我使用return语句,但是它不起作用。
@Emit()
startChange(num:any){
}
num
参数的类型为Date
。
我想将其转换为timestamp
并将其传递给父组件。
你如何做到的?
答案 0 :(得分:0)
您可能可以执行以下操作:
@Component
export default class YourComponent extends Vue {
date: Date
get timestamp() {
if (this.date) {
return this.date.getTime();
}
}
startChange(date: Date) {
this.date = date
}
@Watch('timestamp')
@Emit('timestampChange')
onTimestampChanged(timestamp: number) {
}
}
或者:
@Component
export default class YourComponent extends Vue {
timestamp: number
startChangeByDate(date: Date) {
this.startChangeByTimestamp(date.getTime())
}
@Emit('timestampChange')
startChangeByTimestamp(timestamp: number) {
this.timestamp= timestamp
}
}