我有一个骨干视图,并希望在其中创建自定义属性并从其他视图函数访问这些属性。
我有一个属性数据:
data: {
response : JSON.parse($.ajax({
type: 'GET',
url: "dashboard/chart/chart-data",
dataType:"json",
async: false
}).responseText)
},
在initialize函数中,我可以访问this.data:
initialize: function(ob) {
var url = ob.route;
this.render(url);
console.log(this.data)
google.load('visualization', '1', {'callback':this.drawChart, 'packages':['corechart']});
},
哪个记录对象{response:Object}
但在另一个函数中,drawChart,
console.log(this.data)给了我未定义的
和console.log(this)给了我:
Window {top: Window, location: Location, document: document, window: Window, external: Object…}
如何更改drawChart中的范围,以便引用主干视图对象,而不是窗口元素。
答案 0 :(得分:1)
您需要将drawChart
绑定到视图实例。将this.drawChart.bind(this)
作为google.load
选项中的回调传递。