0

Я пытаюсь использовать плагин jQuery, который может кривить текст (Arctext.js) в виде угловой директивы.Использование плагина jQuery в виде угловой директивы

Директива, похоже, работает нормально, данный текст изогнут, как и ожидалось, за исключением того, что я хочу, чтобы этот текст был угловой переменной. И проблема в том, что плагин jQuery, кажется, выполняется до того, как Angular разрешит значение переменной.

Мой HTML элемент:

<h2 class="circle">{{ myController.myVar }}</h2> 

Моя директива:

return { 
    restrict: "C", 
    link: function(scope, element, attrs) { 
     element.arctext({radius: 500}) 
    } 
} 

На странице отображается '{{myController.myVar}}', как изогнутый текст.

Как получить значение переменной вместо этого?

+1

Вы поделитесь больше кода или подготовить скрипку? – Dario

+0

выглядит так, что ваша директива не может получить доступ к плагину. Вы пытались получить данные плагина внутри директивы.? –

+0

Вот скрипка: http://jsfiddle.net/k8ffmbL0/1/ –

ответ

1

Попробуйте это:

HTML:

<h2 class="circle" text="{{ myController.myVar }}"></h2> 

Директива:

return { 
    restrict: 'C', 
    link: function(scope, element, attrs) { 
     attrs.$observe('text', function(newval) { 
      if (newval) { 
       $(element).text(newval).arctext({radius: 500}) 
      } 
     }); 
    } 
} 
+0

Заголовок не отображается. Я полагаю, что плагин arctext использует метод .text(), чтобы получить строку внутри элемента. Как применить плагин к атрибуту 'text' в вашем примере? –

+0

@BenjaminLemoine Я обновляю ответ. см. скрипку [здесь] (http://jsfiddle.net/Lvqgfkyc/) –

+0

спасибо, это прекрасно! –