2016-11-07 1 views
2

Я сделал все свои javascript на front-end в угловом. Мое приложение не одностраничное приложение. У меня нет маршрутизации. Мне просто нужно было что-то, поэтому мое взаимодействие с пользователем не зависит от идентификаторов или имен классов элементов html.angular vs vanilla javascript vs jquery, следует ли использовать только один из них?

При таком подходе я не зависеть от кодов html/css. Они могут делать то, что они хотят, не влияя на мою логику JavaScript. Но какая-то часть моего проекта я должен сделать что-то вроде этого:

var pos = $(".two").find(".active")[0].offsetLeft; 
$(".two").scrollLeft(pos - 40); 

Даже то, что это только две строки кода я ненавидя это решение, потому что зависит от некоторых элементов с именами классов .two и .active.

Я не спрашиваю, как я могу сделать, что две строки в agular, но интересно, если есть некоторые рамки или Java-Lib, которые могут иметь дело с вещами, подобными угловой:

  1. директивы
  2. Услуги
  3. Фабрики
  4. Фильтры

Большая часть моего, скажем, взаимодействие с пользователем осуществляется через директивы. Большая часть моей логики, например, карт Google, выполняется с помощью угловых указаний и угловых фабрик. Все мои фильтры (например, дата форматирования выполняется с помощью угловых фильтров). И в конце все мои вызовы ajax выполняются через угловые сервисы.

При таком подходе я решил серьезную проблему, и это удобство использования кода (своего рода модульный подход), после чего я решил большую проблему с сохранением кода. Любой может работать над этим проектом после меня, не царапая его голову в течение двух месяцев в javascript-коде.

У меня возникает только одна проблема, и директивы медленнее, если они написаны как чистый javascript. Когда я говорю медленнее, я имею в виду, что есть какой-то странный тайм-аут (например, 200 мс) при рендеринге html через директиву.

В любом случае, я бы очень признателен за ввод данных относительно углового vs plain javascript или jquery, должен ли я его смешивать или должен ли я делать свой JavaScript в угловых (или некоторых других рамках).

Спасибо.

+0

Вы можете сделать все это в ванильным JS, с тем, что он помогает некоторые проекты, чтобы иметь формальность такой структуры, как AngularJS, некоторые будут использовать adHoc-решение/библиотеку типа ReactJS или jQuery. Я думаю, что это имеет много общего с проектом и тем, что он требует. –

+0

@JustinHerter Моя главная проблема заключается в том, что код был не надёжным для html, простым в обслуживании и отсутствием избыточности кода. Насколько я вижу, только некоторые рамки могут дать мне это. Особенно часть «код не зависит от html», – pregmatch

+0

Если у вас проблемы с производительностью, я бы предложил обратиться к проблеме напрямую. Прыжки между каркасами не помогут. Оптимизация производительности - это расширенная тема и обычно требует хорошего знания структуры (это относится к любой структуре, а не только к угловому). – estus

ответ

0

Я просто рекомендую вам попробовать vue.js, может быть, вы можете проверить сравнение между среагировать, угловой и вю в https://www.awesomes.cn/vs/10-65-447

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