2014-01-26 3 views

ответ

1

Вашего связывание читаются без оценки против течения объем. Вы можете выполнить оценку вручную с помощью области. $ Eval.

Попробуйте прочитать данные в виде текста и оценивать вручную:

var api = scope.$eval($(this).attr('data-api')); 

DEMO

Другое решение с использованием $timeout запланировать функцию к следующему этапу, чтобы гарантировать, что угловой закончил свои привязок => мы не «т нужно использовать scope.$eval больше:

app.directive('popover', function($timeout) { 
    return { 
    restrict: 'A', 
    link: function(scope, element, attrs) { 
     $timeout(function(){ 
      element.popover({ 
      trigger: 'hover', 
      html: true, 
      content: function() { 
      var api = angular.fromJson(attrs.api); 

      return (
       '<ul><li>' + api[0] + ',' + api[1] + '</li><li>' + api[2] + ',' + api[3] + '</li>'); 
      } 
     }); 
     }); 
    } 
    }; 
}); 

DEMO

+0

Спасибо, но почему название все еще имеет проблемы? –

+1

@Ahmed Hashem: Я добавил другое решение, я думаю, что лучше разрешить угловые делать привязки, мы избегаем делать это сами, что может противоречить угловым привязкам и создавать непредсказуемые результаты. –

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