vue转json
Vue 官方文档中的 `Vue.toJSON()` 方法可以将 Vue 实例转化为一个 JSON 对象。但是要注意的是,这个方法只能转换具有响应性的数据,不能转换计算属性、方法或监听器等。
下面是一个示例,演示了如何将一个 Vue 实例转化为 JSON 对象的代码:
```javascript
// 定义 Vue 实例
var vm = new Vue({
data: {
message: 'Hello
World!'
number: 123
array: [1
2
3]
object: {
prop1: 'value1'
prop2: 'value2'
}
}
methods: {
sayHello: function() {
console.log('Hello!');
}
}
});
// 将 Vue 实例转化为 JSON 对象
var json = JSON.stringify(vm.toJSON());
console.log(json);
// 打印结果:
// {"message":"Hello
World!"
"number":123
"array":[1
2
3]
"object":{"prop1":"value1"
"prop2":"value2"}}
```
在这个示例中,我们首先定义了一个 Vue 实例 `vm`,这个实例包含了一些普通的数据、一个方法以及一个监听器。接着,我们使用 `Vue.toJSON()` 方法将这个 Vue 实例转化为一个 JSON 对象,存储在变量 `json` 中。*,我们打印出了这个 JSON 对象。
需要注意的是,这个方法只能转换具有响应性的数据。所以在上面的示例中,计算属性 `reversedMessage` 和监听器 `numberPlusOne` 并不会被包含在转换后的 JSON 对象中。
总结一下,`Vue.toJSON()` 被用来将 Vue 实例转化为一个 JSON 对象,但只有具有响应性的数据才会被包含在转换后的 JSON 对象中。其他非响应性的属性,例如计算属性和监听器等,不会被包含。