Я строю chartist Директиву для моего приложения AngularJS. На мой взгляд, в настоящий момент я понимаю, как интегрировать код jQuery в угловом режиме.Как использовать jQuery Угловой способ внутри директивы?
Эта структура использует jQuery для создания всплывающей подсказки. Код здесь:
var $chart = $('.ct-chart');
var $toolTip = $chart
.append('<div class="tooltip"></div>')
.find('.tooltip')
.hide();
$chart.on('mouseenter', '.ct-point', function() {
var $point = $(this);
var value = $point.attr('ct:value');
$toolTip.html(value).show();
});
$chart.on('mouseleave', '.ct-point', function() {
$toolTip.hide();
});
$chart.on('mousemove', function(event) {
$toolTip.css({
left: (event.offsetX || event.originalEvent.layerX) - $toolTip.width()/2 - 10,
top: (event.offsetY || event.originalEvent.layerY) - $toolTip.height() - 40
});
});
Мой вопрос: Как я должен перевести это на AngularJS способ делать вещи?
- Я получаю элемент из DOM
- Добавление нового элемента к нему
- а затем взаимодействия с этим вновь добавленного элементом
Что бы путь Угловым обрабатывает эти вещи? Является ли 1: 1 «перевод» апробировать, или я должен положить ngHide, ngMouseenter внутри вид?
JQuery можно использовать внутри контроллера, вам просто нужно обновить привязки с помощью $ scope. $ Apply. –
Я знаю, но в документации, в каждой книге они говорят: Если вы используете jQuery, вы, вероятно, ошибаетесь. Поэтому я задаюсь вопросом, могу ли я использовать только Angular API для этих вещей. –
'var $ chart = $ ('. Ct-chart');' вместо того, чтобы получать такие элементы, вы получаете $ element непосредственно в своих директивах. поэтому его любопытный angularjs находит элемент для вас и дает вам свою ручку ... – harishr