2014-02-19 2 views
0

У меня есть пользовательская директива под названием customStyles, которая определяется как:Динамически обновление Html шаблона в угловой директиве

scrollbackApp.directive('customStyles', function(){ 
    return{ 
     restrict: 'E', 
     template: '<style> {{styleString}} </style>', 
     scope: { 
      conversations : '=' 
     }, 
     link: function($scope, elem, attrs){ 
      $scope.$watch('conversations', function(value){ 
       // calculate str based on value 
       $scope.styleString = str; 
      }); 
     } 
    } 
}); 

Я добавляю эту директиву к телу моего точки зрения HTML:

<body> 
    <custom-styles conversations="convList"> </custom-styles> 
</body> 

И значение convList изменяется внутри области родительского контроллера. Как и в настоящее время, когда указанная выше директива относится к Html, привязка {{styleString}} остается в виде строки вместо того, чтобы менять ее значение. Я хочу, чтобы html директивы изменялся динамически, исходя из значения styleString. Возможно ли это в Угловом?

+0

Можете ли вы сделать пример styleString? btw function (value) должна быть функцией (str) – Whisher

ответ

1

Вы должны переименовать директиву тег в виду:

<custom-styles conversations="convList"> </custom-styles> 

Вот рабочий пример:

http://plnkr.co/edit/aOxf3fgS7Tc0sOyCXoBV?p=preview

+0

Я изменил 'str' на' значение', потому что я не знал вашу логику вычисления str. А также я изменил тег '