2015-02-16 11 views
11

yönergesine beklenmedik bir belirteç olup böyle bir ng-repeat içeride bunu:Dizimi Hatası: Token ':' Ben bir direktif <code>iframely</code> çağrıda geçen değişken

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

Bu sadece dize "iterator.url" olarak değerini davranır gerçek .url değeri değil. denemek için, sadece doğrudan bir URL koymak: Bana Syntax Error: Token ':' is an unexpected token hata veriyor

<iframely url="https://soundcloud.com/braxe1/braxe-one-more-chance"></iframely> 

. Ben yönergesi bu değeri geçirmeden ele verdik en yakın olan:

<iframely url="'{{iterator.url}}'"></iframely> // note double and single quotes 

Bu iterator URL parametresini giderir, ama aynı zamanda dize bir parçası olarak ' ' tek tırnak ile birlikte geçirir.

DÜZENLEME: Ayrıca, tek tırnak işaretleri olmadan denedi.

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

Ve Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 2 of the expression [{{iterator.url}}] starting at [{iterator.url}}]

Bunu yapmak için doğru yolu nedir var mı?


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) 
      }) 
     } 
    } 
}]) 
+1

url = "{{iterator.url}}" tek tırnak olmadan ... – micronyks

+0

@micronyks Aslında, bu bir köknar oldu denedim. 'Hata: [$ ayrıştırma: sözdizimi] Dizimi Hatası: Token '{' ifadesinin sütununda 2 de geçersiz anahtar [{{iterator.url}}] başlayarak [{iterator.url}}]' – Noah

+0

kodu gönderebilir miyim direktifiniz için? – adam0101

cevap

3

değiştirin aşağıdaki olmasını yönergesini değiştirmeniz gerekir: Burada direktif kodudur :

url: scope.url kapsamındaki '@' ile dikkat edin.

İlgili konular