我有一个指令iframely,我在这样一个ng重复,像这样:
<iframely url="iterator.url"></iframely>
这只是将该值视为字符串“iterator.url”,而不是实际的.url值.要实验,我只是直接放入一个URL:
<iframely url="https://soundcloud.com/braxe1/braxe-one-more-chance"></iframely>
哪个给我语法错误:令牌’:’是一个意外的令牌错误.我将这个值传递给指令最接近的是:
<iframely url="'{{iterator.url}}'"></iframely> // note double and single quotes
这解决了迭代器的URL参数,而且还将其作为字符串的一部分与“单引号”一起传递.
编辑:也尝试没有单引号.
<iframely url="{{iterator.url}}"></iframely>
并得到错误:[$parse:Syntax]语法错误:从[{iterator.url}}开始,表达式[{{iterator.url}}的第2列的令牌'{‘无效键]
这样做的正确方法是什么?
EDIT2:这是指令的代码:
angular.module( 'iframely',[]) .directive( 'iframely',[ '$http','$sce',function ( $http,$sce ) { return { replace: true,restrict: "E",scope: { url: '=' },template: '<div ng-bind-html="content"></div>',link: function ( scope,element,attrs ) { $http( { url: 'http://localhost:8061/iframely',method: 'GET',params: { url: attrs.url } }) .then( function ( result ) { scope.content = $sce.trustAsHtml( result.data.html ) }) } } }])
你必须替换url:’=’
原文链接:https://www.f2er.com/angularjs/140417.html通过url:’@’