我试图在每个页面上加载映射,这是特定于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属性