最近做了一个项目, 是 pad 端的
有些功能使用的是原生, 例如扫描, 然后获取扫描结果, 扫描的结果 是原生方法返回的, 在我们 vue 单页面 export default 之外.
vue 官网更改 data 值 是一个实例
官网例子:
- let vm = new Vue({
- el: '#app',
- data: {
- msg: 'test msg'
- }
- })
- vm.msg = 'change msg'
但是我们开发中文件是
- export default { data () {
- return {
- msg: 'test msg'
- }
- }
- }
所以需要先把我们 vue 单页面转换成一个实例.
稍微修改下 默认文件
- import Vue from 'vue'
- let vm = {
- data () {
- return {
- msg: 'test msg'
- }
- }
- }
- let _vm = new Vue(vm); // 当前页面的实例
- console.log(_vm) // 可以看到里面的 data 已经是一个对象了 和在 methods 里面打印的 this 是等同的
- _vm.msg = 'change Msg' // 修改实例的值
- vm.data = function () { // 修改后的 data 赋值给当前页面
- return _vm.$data
- }
- export default vm
这样在. vue 文件里面 就可以调用原生方法 来修改 vue 里面的 data 值了.
来源: http://www.qdfuns.com/article/42435/c37f9468e0f590a18c37d7fb32c869bc.html