在控制器的函数中访问 vue 实例

Accessing vue instance in controller's function

控制器:

Vue.directive('fetch',function(value,scope){
value["url"].isLiteral = true;
qwest.post(value["url"]).then(
    function(response){
        console.log(response);
        if (response["CODE"] == 1){
            console.log(response["RESULT"]);
            this.result = response["RESULT"];
            this.error = "";
        }else{
            this.result = "";
            this.error = response["ERROR"];
        }
    }
).catch(
        function(e,response){
            this.error = response["ERROR"];
        }
    );
})

型号:

var test = new Vue({
el : "#test",
data : {
    code : "",
    result : "",
    error : ""
    }
})

所以,如果我使用 this.result 它超出了范围,但是如果我将它引用为 test.result 然后它被访问并且值被更新那么通用的方式是什么访问 vue 实例?

我找到了解决办法, 可以在指令对象中使用 属性,它是 this.vm,它实际上是指令的 vue 模型,因此可以使用 this.vm 并将其分配给某个变量调用函数,因此使用 this.vm 分配给的变量的名称作为单例函数调用。

Vue.directive('fetch',function(value){
value["url"].isLiteral = true;
var model = this.vm;
qwest.post(value["url"]).then(
    function(response){
        console.log(response);
        if (response["CODE"] == 1){
            console.log(response["RESULT"]);
            model.result = response["RESULT"];
            model.error = "";
        }else{
            model.result = "";
            model.error = response["ERROR"];
        }
    }
).catch(
        function(e,response){
            model.error = response["ERROR"];
        }
    );
})