gpt4 book ai didi

angularjs - 语法错误 : Token ':' is an unexpected token when passing variable to directive

转载 作者:行者123 更新时间:2023-12-04 00:38:10 25 4
gpt4 key购买 nike

我有一个指令叫 iframely我在一个 ng-repeat 里面像这样:

<iframely url="iterator.url"></iframely>

这只是将值视为字符串 "iterator.url" ,不是实际的 .url值(value)。为了实验,我直接输入了一个 URL:
<iframely url="https://soundcloud.com/braxe1/braxe-one-more-chance"></iframely>

这给了我 Syntax Error: Token ':' is an unexpected token错误。我最接近将此值传递给指令的是:
<iframely url="'{{iterator.url}}'"></iframely> // note double and single quotes

这将解析 iterator 的 URL 参数,但也将它与 ' ' 一起传递单引号作为字符串的一部分。

编辑:也试过没有单引号。
<iframely url="{{iterator.url}}"></iframely>

并得到 Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 2 of the expression [{{iterator.url}}] starting at [{iterator.url}}]
这样做的正确方法是什么?

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: '='
来自 url: '@'
https://docs.angularjs.org/api/ng/service/$compile

关于angularjs - 语法错误 : Token ':' is an unexpected token when passing variable to directive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28545285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com