在 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);
我无法在控制器功能中访问控制器 属性:
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);