Salesforce-在VisualForce頁面的JS中使用Controller的對象集合

如題。

- Controller:

public with sharing class BaiduMapController {

    //業務人員(需要轉化成Json傳給page使用)
    public String salesListJson {get;set;}
    public List<Salesman__c> salesList {get;set;}

    public BaiduMapController() {
        salesList = [select FullName__c,Latitude__c,Longitude__c 
                from Salesman__c
                where Latitude__c != null and Longitude__c != null
                limit 100];
        salesListJson = JSON.serialize(salesList);
    }
}

需要提供一個List對象集合給page的Js中使用。

- VisualForce Page使用:

//獲取controller的json字符串
            var sl = '{!salesListJson}';
            //json解析可以自動轉化成對象集合,並且直接使用內部的字段
            var salesList = JSON.parse(sl);
            for (var i = 0; i < salesList.length; i++) {
                var salesman = salesList[i];
                var point = new BMap.Point(salesman.Latitude__c, salesman.Longitude__c);
                var marker = new BMap.Marker(point);        // 創建標註    
                marker.disableDragging();
                //監聽標註事件
                marker.addEventListener("click", function(){    
                    showInfoBox();   
                });  
                map.addOverlay(marker);
            }       
  • 重點:controller獲取的集合要轉化成json字符串,在頁面中手動解析才能轉化成對象集合使用。
發佈了95 篇原創文章 · 獲贊 39 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章