2016-02-10 3 views
-1

Я пытаюсь вставить youtube iframe с youtube ID, который хранится в базе данных. Но я ошибался в том, чтобы избежать косой черты.Как избежать слэша angularjs

<tr ng-click="edit_source_data(source)" ng-repeat="source in sources"> 
     <td>{{source.title}}</td> 
     <td>{{source.type}}</td> 
     <td> 
      <iframe width="100" height="100" src="https://www.youtube.com/embed/{{source.link}}" frameborder="0" allowfullscreen></iframe> 
      <!--https://www.youtube.com/embed/--> 
     </td> 
     <td><span class="delete" data-id="{{source.id}}" ng-click="del_source($event); 
       $event.stopPropagation();">Delete</span></td> 
    </tr> 

Но, если удалить https://www.youtube.com/embed/ часть из ЦСИ, то нет никакой ошибки. Как я могу это решить. Спасибо.

+0

[ 'нг-src'] (https://docs.angularjs.org/api/ng/directive/ngSrc) – Tushar

ответ

1
<iframe width="100" height="100" 
    ng-src="https://www.youtube.com/embed/{{source.link}}" 
    frameborder="0" allowfullscreen> 
</iframe> 
+0

Ошибка не была решена. – user254153

0

Вам необходимо ввести службу $ sce в контроллер и trustAsResourceUrl url.

В контроллере:

function AppCtrl($scope, $sce) { 
// ... 
$scope.GetLink = function (source) { 

    return $sce.trustAsResourceUrl("https://www.youtube.com/embed/"+source.link); 
} 
} 

в шаблоне

<iframe width="100" height="100" 
ng-src="GetLink(source)" frameborder="0" allowfullscreen></iframe> 
+0

После проверки кода. Я получил «URI, который вы отправили, запретил символы» внутри iframe и не может загружать видео. – user254153

+0

Можете ли вы дать мне значение source.link .. или plunker .. –

+0

Я бы получил идентификатор youtube от source.link. Значение типа '5VLPMeDuTs8', которое является идентификатором видео. – user254153

Смежные вопросы