在 ember 的控制器函数中访问控制器属性

Accessing controller properties within controller function in ember

我无法在控制器功能中访问控制器 属性:

App.ViewRController = Ember.Controller.extend({
    datas:null,
    actions:{

    viewfile:function() {
        let filename = this.get('filename');
        let count=0;
        let data;
        let self = this;

        if (filename != null)
        {
            filename = filename.trim();

            if(filename.length > 0)
            {
                try {
                    let obj= new XMLHttpRequest();
                    obj.onreadystatechange = function() {
                        if(obj.readyState==4 && obj.status ==200)
                        {
                            let json = obj.responseText;
                            console.log(self);
                            data = JSON.parse(json);
                            self.set(datas, data);
                        }
                    }

                    let params = "filename=" + filename;
                    obj.open("POST","view");
                    obj.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
                    obj.send(params);
                    //this.set('datas',data);
                }
                catch(e)
                {
                     alert(e);
                }
            }
            else
                alert("enter filename");
        }
        else
            alert("enter filename");
    }
}

模板应该遍历具有属性的数据对象。但是我无法在控制器的函数中设置数据属性。

您正在尝试将 属性 设置为

self.set(datas,data);

但是您需要将 "datas" 属性 设置为字符串:

self.set("datas", data);