将chrome.storage中的数据加载到vue.js数据中

时间:2017-02-15 21:19:49

标签: google-chrome vue.js google-chrome-app

我正在构建一个Chrome应用,我将Vue.js用于选项页面。 所以我想从chrome存储加载设置并将其放入vue数据中。

我的问题是,我无法从chrome存储回调中访问vue组件。每次我在回调中调用它时,所有vue元素都是未定义的。 有没有办法,让chrome storage cb函数返回一个值,或给它一个额外的回调。

这是我的代码

name: 'app',
    data: function () {
        return {
            data []
        }
    },
    methods: {
        init: function() {
            chrome.storage.sync.get('series', function (storageData) {
                this.data = storageData   //this is not possible, because this.data is undefined
                })
            });
        }
    },
    created: function () {
        this.init();
    }
}

1 个答案:

答案 0 :(得分:5)

如果使用ES6并进行转换(首选方法)。注意:箭头功能不会创建新的上下文。

<?php
$mysqli = mysqli_connect("localhost","salman","salman1214","shan");
if(mysqli_connect_errno())
    die("Connection failed".mysqli_connect_error());
$s = '';
$s = "insert into result(student_id,exam_name, subject_name, sub_marks) values";
for($i=0;$i<$_POST['numbers'];$i++)
{
    for($j=0;$j<$_POST['subject'];$j++)
    {
        $s .="('".$_POST['student_id'][$i]."','".$_POST['exam_name']."','".$_POST['sub_id'][$j]."','".$_POST['marks'][$i][$j]."'),";
    }
}
$s = rtrim($s,",");
if(!mysqli_query($mysqli,$s))
    echo mysqli_error();
else
    echo "Records Saved <br />";


mysqli_close($mysqli);?>

ES5解决方法:

{{1}}