加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 语法错误:令牌’:’是将变量传递给指令时的意外

发布时间:2020-12-17 09:53:12 所属栏目:安全 来源:网络整理
导读:我有一个指令iframely,我在这样一个ng重复,像这样: iframely url="iterator.url"/iframely 这只是将该值视为字符串“iterator.url”,而不是实际的.url值.要实验,我只是直接放入一个URL: iframely url="https://soundcloud.com/braxe1/braxe-one-more-chanc
我有一个指令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:’=’

通过url:’@’

https://docs.angularjs.org/api/ng/service/$compile

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读