从 sproutcore 中的父视图获取数组
getting an array from a parentView in sproutcore
App.MapView = App.ChartView.extend({
data: undefined,
dataLoaded: NO,
markersArray: undefined,
finishloadingdata: function (rawdata) {
var latitude, longitude;
var array = new Array();
$(rawdata).find("Book").each(function () {
$(this).find("Location");
latitude = $(this).find("Latitude").text();
longitude = $(this).find("Longitude").text();
array.push(new Array(latitude, longitude));
});
this.set('markersArray', array);
this.set('data', rawdata);
this.set('dataLoaded', YES);
},
optionsView: SC.View.extend({
layout: {
left: 0,
top: 0,
right: 0,
bottom: 50
},
map: null,
center: new google.maps.LatLng(46.48, 7.9),
zoom: 14,
array: this.get('markersArray'),
didCreateMap: null,
render: function (ctx, first) {
if (first) {
ctx.push('<div style="position:absolute;top:0;left:0;right:0;bottom:0;"></div>');
}
},
didCreateLayer: function () {
this.invokeLast('_createMap');
},
_createMap: function () {
if (this._map) {
google.maps.event.trigger(this._map, 'resize');
} else {
var center = this.get('center');
var opts = {
zoom: this.get('zoom'),
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var div = this.$('div')[0];
var map = new google.maps.Map(div, opts);
this._map = map;
this.set('map', map);
//i want to make an array of markers
if (this.didCreateMap) this.didCreateMap(map);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(46.48, 7.9),
map: map
});
}
}
MapView是一个扩展ChartView的视图,我正在覆盖选项View以使其显示谷歌地图。 它工作得很好,我只想用从XML文件中检索到的坐标在地图上放置标记。我得到阵列很好。我的问题是,当我想给选项查看该数组的值时,它给了我错误:对象 [对象窗口] 没有方法"get"。
我怎样才能给选项的数组属性查看标记数组的值,以便我可以使用它来将标记放到我的地图上。
非常感谢!!
而不是
array: this.get('markersArray')
你可能想做
arrayBinding: 'parentView.markersArray'
这使用 SproutCore 的绑定功能,并将确保 array
属性始终指向父视图的 markersArray
属性。但是,您可能还需要通过将以下内容添加到图表视图的顶部来指定optionsView
是父项的子项:
App.MapView = App.ChartView.extend({
childViews: ['optionsView'],
...
希望这有帮助!如果您对此问题有任何其他问题,请添加评论,我会尽力提供帮助。
相关文章:
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- Ui路由器:获取控制器中视图的名称
- 从youtube获取视图
- 每隔5秒从数据库获取数据,并通过AJAX将其发送到视图
- 获取特定视图的项目计数
- ExtJS 4.2如何获取视图的所有存储
- Ember.js路由器,从视图获取路由器
- 在angularJS中从树视图获取叶节点深度
- 从 sproutcore 中的父视图获取数组
- 在asp.net mvc 3中,如何在不刷新页面的情况下从部分视图获取值到父视图
- 从Ember视图获取模型属性
- 木偶.js - 项目视图获取父区域引用
- Ajax将JavaScript变量添加到Django视图获取:AttributeError:'WSGIREQUE
- 如何从一个视图获取更改值事件以触发另一个视图中的方法
- 正在从Web视图获取用户触摸的元素
- 从模型到视图获取数组
- 无法从ASP MVC中的视图获取更新的数据
- 如何从视图获取值到控制器
- 从组件视图获取块内容
- 无法用Angular从HTML视图获取值到控制器.解决方案返回$scope变量undefined