我正在尝试从handontable中设置一个vuejs变量。
vuejs变量:
this.dataChanged
以下代码块中的在手动设置中不可用,任何想法如何访问它?
<template>
<div id="hot-container">
<HotTable :root="root" :settings="hotSettings"></HotTable>
</div>
</template>
<script>
export default {
data() {
return {
#vuejs variable i want to set from hot
dataChanged: false,
root: 'test-hot',
hotSettings: {
data: [{something: 0}],
afterChange: function(changes, src) {
if (src !== 'loadData') {
this.dataChanged = true
}
},
methods: {
saveChanges: function () {
if (this.dataChanged){
//save data
}
}
}
答案 0 :(得分:3)
我遇到了同样的问题......我发现在GitHub上发布了一个解决方法,就像这样..
通过这种方式,您可以像往常一样访问所有Vue的数据,方法等。
data() {
return {
hotSettings: {
...
afterChange: this.afterChangeVue
...
}
}
},
methods: {
afterChangeVue(changes, source) {
console.log('changes, source => ', changes, source);
console.log('this.$store => ', this.$store);
},
以下是原始帖子的链接:https://github.com/handsontable/vue-handsontable-official/issues/7#issuecomment-356190395
答案 1 :(得分:0)
我最终保存到在vue之外声明的变量 - 即在data()声明
之上var myNewVar = 42
data() {
#can save to myNewVar from here