2014-12-17 3 views
0

에서 나는 사용자가이 같은 구글 맵 코드 삽입 할 수있는 워드 프레스 플러그인 구축 :표시 Google지도 iframe에서 AngularJS와

<iframe src="https://www.google.com/maps/embed?pb=xxxxx" width="100%" height="100%" frameborder="0" style="border:0"></iframe> 

이 코드는 WP-데이터베이스에 저장을하고 난 내부에서 그것을 얻으려고 내 angularjs 코드 ..

getMaps(); 
function getMaps(){ 
    $http.post("wp-content/themes/koplan/pages/getMaps.php").success(function(mapsdata){ 
     $scope.maps = mapsdata; 
    }); 
}; 

내 질문은 : 어떻게 바인딩 할 수/프런트 엔드 PHP는/HTML에서 렌더링합니까? <div ng-bind-html=maps>을 시도했지만 아무 것도 나타나지 않았습니다.

다른 방법이 있습니까 ?? 제발 도와주세요, 고마워

+0

로 사용할 수 있습니다 왜 당신은 할 수 없습니다 묶다? 그것은 무엇을 말하는가? – trainoasis

+0

@trainoasis 콘솔에서 경고가 표시되지 않습니다. {{}}로 렌더링하면 데이터 (iframe 태그)가 표시되지만, ng-bind-html로 렌더링하면지도가 여전히 비어 있습니다. iframe 태그를 각도를 사용하여지도보기 –

+0

아마도 당신은 단지 trustashtml을 사용해야합니까? https://docs.angularjs.org/api/ng/service/$sce#methods_trustashtml – trainoasis

답변

0

아마도 iframe은 신뢰할 수있는 HTML로 받아 들여지지 않기 때문에 아마도 sce 일 것입니다.

그래서,

app.controller("MainController", ['$scope', '$http','$sce', function($scope, $http, $sce){ 

처럼 컨트롤러에 SCE를 포함 후에는

$scope.maps = $sce.trustAsHtml(mapsdata); 

this 질문/답변을 참조 할 것.

또한, 당신은 확실히 표시 할 '안전'다른 HTML 데이터가,이 필터를 사용할 수 있습니다에 대한 :

app.filter('unsafe', function($sce) { 
    return function(val) { 
     return $sce.trustAsHtml(val); 
    }; 
}); 

당신은

ng-bind-html="yourHTMLdataVariable | unsafe" 
+0

안녕하세요 @trainoasis의 angularjs 문서를 보내 주셔서 감사합니다. 그 케이스에 대한 링크를 주셔서 감사합니다. 답변을 주셔서 감사합니다. 나는 그것을 시도 할 것입니다. –

+0

이 작업이 가능합니까? – trainoasis

+0

귀하의 제안을 시도했으며 오류가 발생했습니다 : "오류 : [$ sce : itype] 문자열이 필요한 컨텐트에서 문자열이 아닌 값을 신뢰하려고 시도했습니다. 컨텍스트 : html" mapsdata가 json .encode.response 그래서 하나 이상의 맵 때문에 값이 배열이었습니다. 어떻게이 문제를 해결할 수 있습니까 ?? –