Я использую Angular для немного и действительно оказываюсь гораздо более эффективным и создаю много строк кода, чем в Backbone и jquery. Тем не менее, я работаю с другими разработчиками, которые являются первичными в компонентах Backbon/jquery/controls, которыми мы все разделяем. Поскольку это сложные компоненты/элементы управления, которые я не могу переписать в Angular, мне нужно найти способ использовать их изнутри Angular.Использование обработчика jquery в Angular
В конкретном случае я имею дело с элементом управления, создающим диалоговое окно, которое позволяет пользователям создавать записи в серии систем запросов справки или ошибок журнала. Этот код работает в ряде приложений. Вот простой пример:
<div class="foo">Help</div>
А затем обработчик.
$(".foo").ShowHelp({project:"myproject", app:"MyApp"});
Примечание: «foo» используется для позиционирования диалогового окна.
В Angular Я попытался создать добавить директиву ng-click и в контроллере обработать клик, но ShowHelp не вызывается. Это угловой код:
<div class="foo" ng-click="doShowHelp()">Help</div>
В контроллере у меня есть
$scope.doShowHelp = function() {
console.log("in doShowHelp");
$(".foo").ShowHelp({project:"myproject", app:"MyApp"});
};
Я вижу сообщение журнала в консоли, но ничего не кажется, происходит. Любые идеи о том, что я делаю неправильно.
Заранее спасибо
Вы можете бросить базовую версию в плункер или скрипку? Это, вероятно, легкое исправление, но это поможет увидеть больше кода. –
Is * "' ("foo") '" * на самом деле * "' (". Foo") '" * в вашем коде? –
Что делает '$ (". Foo "). ShowHelp()' do? – Ronnie