在带有谷歌地图嵌入api的ng-src中使用angular表达式



我试图在每个页面上加载映射,这是特定于api的值,但我得到这个错误消息:

严格上下文转义禁止在需要可信值时将多个表达式连接起来的插值。参见http://docs.angularjs.org/api/ng。预计美元http://errors.angularjs.org/1.2.15/插入美元/noconcat ?

标记如下:

<div ng-bind-html="trustedHtml" class="col-md-4 map">
    <iframe ng-src="https://www.google.com/maps/embed/v1/placekey=AIzaSyAJ_lVIxNq31PmzRUbMh9JIStQOE4_6-aQ&q='{{event.venue.name}}'"/>
</div>

这里是控制器:

.controller('EventsCtrl', function($scope, EventsFactory, $routeParams, $sce){
    EventsFactory.async().then(function(data){
        $scope.events = data.data;
        $scope.event= findEvent(eventId, $scope.events);
        console.log($scope.event);
        $scope.trustedHtml = $sce.trustAsHtml($scope.event);

不要用$sce.trustAsHtml(),试试用$sce.trustAsResourceUrl()。将整个URL作为$sce.trustAsResourceUrl()的参数。下面的链接对我有用。

如何从AngularJS的变量中设置iframe src属性

最新更新