2013-05-07 3 views
1

Я пытаюсь найти способ включения AngularJS в существующее приложение. Приложение является модульным, поэтому каждый модуль имеет разметку HTML и файлы сценариев JS. Модули загружаются с requirejs и jQuery (для загрузки разметки).Включить AngularJS в существующее модульное приложение

Я хотел бы использовать функции AngularJS в некоторых модулях, имея в виду возможность перехода на AngularJS в будущем. Поэтому в идеале я хочу что-то вроде этого:

define([ 'angular' ], function (angular) { 
    return function (element) { 
     // The "element" parameter contains the reference to 
     // the detached DOM node that contains the markup. 
     // And what I think should be done is compiling 
     // or initializing AngularJS with the given DOM HTML fragment 
     // and with controller, etc. 
     angular.doSomething(element, ...something...); 
     // The application module engine will inject the returned element 
     // into the DOM tree. 
     return element; 
    }; 
}); 

Любые идеи? Благодаря!

ответ

1

AngularJS не предназначен для работы с другими каркасами и может использоваться для небольших кусков и деталей. Вы могли бы взломать его вместе, чтобы сделать это, но это, вероятно, станет очень грязным. Угловая намного лучше подходит для того, чтобы стать основой всего приложения.

Что-то вроде jQuery отлично подходит для добавления в приложение и добавления функциональности, но угловой гораздо сложнее.

Если вы хотите, чтобы угловой захватить определенные элементы, ознакомьтесь с директивой ng-controller и как это работает. Затем в вашей стандартной разметке вы просто добавите атрибут ng-controller к любому элементу, а затем добавьте новый угловой контроллер в свой javascript. Затем он будет управлять этим элементом DOM.

Посмотрите на угловые контроллеры, чтобы узнать больше об этом. Но, как я уже сказал, я предлагаю сделать приложение полностью угловатым, а не пытаться просто добавить в него угловые биты

3

Только после учебного пособия, в частности, на этапе 2 (http://docs.angularjs.org/tutorial/step_02) будет показано, как просто сделать один контроллер на странице с помощью некоторых простых функций.

Вы можете использовать это или начать расширять его, модулируя его, как на шаге 7. Создав module, вы можете добавить директивы и услуги и воспользоваться всеми этими предложениями Angular. Вам необязательно настраивать маршруты или что-то еще, но, создав модуль приложения, вы можете включить другие модули или услуги, предлагаемые по всему Интернету или через Angular.

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