Я хотел бы внести свой вклад в этот вопрос, указав, что рекомендуемый способ обмена данными между контроллерами и даже директивами заключается в использовании сервисов (фабрик), как уже указывалось, но также мне хотелось бы чтобы дать практический пример того, как это должно быть сделано.
Вот рабочий плункер: http://plnkr.co/edit/Q1VdKJP2tpvqqJL1LF6m?p=info
Сначала создайте свою службу, которая будет иметь ваши общие данные:
app.factory('SharedService', function() {
return {
sharedObject: {
value: '',
value2: ''
}
};
});
Затем просто добавьте ее на свои контроллеры и возьмите общие данные в своей области:
app.controller('FirstCtrl', function($scope, SharedService) {
$scope.model = SharedService.sharedObject;
});
app.controller('SecondCtrl', function($scope, SharedService) {
$scope.model = SharedService.sharedObject;
});
app.controller('MainCtrl', function($scope, SharedService) {
$scope.model = SharedService.sharedObject;
});
Вы также можете сделать это для своих директив, он работает одинаково:
app.directive('myDirective',['SharedService', function(SharedService){
return{
restrict: 'E',
link: function(scope){
scope.model = SharedService.sharedObject;
},
template: ''
}
}]);
Надеюсь, этот практический и чистый ответ может быть полезен кому-то.
Я настоятельно рекомендую режим Erlang, поставленный со стандартным распределением Erlang. Я соединил "работы из поля" конфигурация Emacs, которая включает:
можно просмотреть мой GitHub repo здесь:
Из того, что я попробовал (и должны все еще сделать), хорошее дополнение к erlang dev. среда было бы виртуальной машиной, работающей ubuntu/yaws/erlang. Возможно Erlyweb (erlang/yaws платформа) был бы хорошей проверкой также.
сообщения Ciaran (это было бы первым из его "ряда") о его установке erlang хорошо, поскольку он детализирует шаги в установке сервера (и другой материал как xmpp с jabberlang).
Просто записал руководству по этому на моем блог , вот сокращенная версия:
Часть 1: Загрузите что потребности быть загруженными.
Загрузка и установка время выполнения Erlang. Загрузка и установка TextPad.
Загрузка .syn файл для Erlang и места это в системной папке TextPad. Для меня эта папка была C:\Program Files\TextPad 5\system. Я не совсем уверен, кто сделал этот syn файл (сайт находится на другом языке), но они сделали достаточно хорошее задание.
Часть 2: Настройте подсветку синтаксиса.
Открывают TextPad. Удостоверьтесь, что никакие файлы не открыты. Перейдите к меню 'Configure' и выберите 'Предпочтения'. В предпочтительном окне нажмите 'Document Classes'. Должен быть список в настоящее время распознанных языков. Нажмите кнопку 'New' (это правильно в соответствии со списком языков), и введите 'Erlang'. Щелчок применяется.
Щелчок '+' кнопка рядом с 'Классами документов'. Это должно развернуть список, и Erlang должен теперь быть на нем. Нажмите Erlang. Необходимо видеть список расширений файла, связанных с Erlang, нажать 'New' и ввести '*.erl'.
Теперь нажимают '+' кнопка рядом с 'Erlang' слева. Это должно развернуть список еще нескольких меню. Нажмите на 'Syntax'. Нажмите выпадающее меню и выберите erlang.syn. Если erlang.syn не там, то .syn файл не был правильно помещен.
Не стесняются редактировать некоторые другие опции синтаксиса настроить TextPad к Вашей симпатии.
Часть 3: Компиляция от TextPad.
Примечание: с 05.12.08 существуют серьезные проблемы с компиляцией в textpad. Оболочка Erlang так или иначе игнорирует новую компиляцию, когда это сделано в текстовой клавиатуре. Это только полезно для проверки ошибок, когда Вы хотите на самом деле выполнить код, скомпилируйте его в Shell Erlang.
В меню свойства снова, нажмите 'инструменты' слева.
Щелчок кнопка 'Add' и избранная 'Программа... '. Перейдите к erl5.6.5\erts-5.6.5\bin\папке и выберите erlc.exe. Избранное и одиночное нажатие новая запись в списке для переименования его. Нажмите кнопку 'Apply '.
Now click the ' +' рядом с Инструментами слева. Выберите erlc, или независимо от того, что Вы назвали новый инструмент (я назвал шахту 'Compile Erlang'). Поле параметров должно считать '$File', и начальное поле папки должно считать '$FileDir'.
Так как Вы переключаетесь на Ubuntu в конечном счете так или иначе, я настоятельно рекомендую erlang-режим использования для emacs (который прибывает связанный распределением Erlang). Это официально, что используют все базовые разработчики и что многие другие разработчики используют из-за многих функций, которые это предлагает Вам.
Установка самого распределения Erlang должна быть простой:)
Я просто использую Scite. Введите что-то и нажмите f5 для наблюдения результатов.
Мне нравится предложение Justin, но я добавлю к нему: это решение является большим для изучения языка. Если Вы не полагаетесь на что-то как завершение кода, то оно вынуждает Вас выучить язык лучше. (Если Вы будете работать с чем-то с огромным API, как Java или Какао, тогда Вы захотите завершение кода, однако!)
Это - также агностик языка, и в случае интерпретируемого языка, особенно тот, который имеет интерактивный интерпретатор, Вы, вероятно, проведете такое же время во вводе оболочки/интерпретатора в командах. Даже в проекте Python большого выхода, я все еще работаю в редакторе и 4 или 5 окнах терминала.
Так, прием больше о получении редактора, который работает на Вас. Я не собираюсь предложить один, поскольку это направляется к евангелизму!
Вы coud также пробуют виртуальный сервер по требованию сервис как этот от Выбор CohesiveFT
компоненты, которые Вы хотите (например, erlangrb12 + отклонения от курса + mysql + erlyweb) и он создаст изображение vm для Вас, чтобы загрузить или поместить на ec2.
Прокрутка, которой Вы владеете локально, довольно проста также, если Вы следуете инструкциям в прагматической книге программистов, Программируя Erlang
Для добавления к предложениям Emacs я также рекомендовал бы посмотреть на преимущества, дистиллируют при выполнении erlang-режима Emacs.
Я использую Erlang в нескольких производственных системах лично также в офисе. Для клиентского тестирования документации и разработки я использую MacBook Pro в качестве ОС/платформы и TextMate с пакетом Erlang как редактор.
Для разъединяют разработку стороны и развертывание, мы используем RHEL 4.x/5.x в производстве, и для редактирования я использую VIM. Лично, у меня есть 4 машины (части на slicehost.com) работающий debian использование Erlang для нескольких веб-сайтов и заданий.
я пытаюсь пойти с самой маленькой 'технической возможной средой', обычно та с наименьшим количеством зависимостей от способного или вкусного.
Вы могли также попробовать NetBeans, там очень хороший доступный модуль Erlang: Установка ErlyBird
sudo aptitude install erlang
sudo aptitute install sun-java6-jdk
ErlyBird:
Я только внес свою лепту кодирования в Erlang, но я нашел, что самый полезный метод должен был только записать код в текстовом редакторе и иметь терминал, открытый готовый создать мой код, поскольку мне нужно к (это было в Linux, но подобная идея будет работать в Windows, я уверен).
Ваш вопрос не упоминал его, но если Вы ищете хорошую книгу о Erlang, попробуйте этот O'Reilly.
Просто быстрое примечание:
Erlang, "компилирующий" процесс, описанный в Ciaran , сообщение (описанный для Ubuntu 6.10 btw) может быть легко пропущено с помощью [1 112] склонный , команда в любом Debian основывала дистрибутив:
склонный - добираются, erlang
установки не забывают устанавливать эти пакеты, если Вы считаете подходящим:
erlang-doc-html - страницы документа HTML Erlang
erlang-примеры - Некоторые примеры приложения
erlang-страницы-справочника - Страницы справочника Erlang
erlang-режим - режим редактирования для Emacs
Удачи!
Я видел здесь ответы, предлагающие TextMate, поэтому я хотел добавить еще один хороший инструмент для Mac OSX:
плагин ErlangXCode для XCode.
Я использовал это так как я начал с Erlang, и мне он действительно нравится.
Ссылка для загрузки в его блоге не работает, вот настоящая загрузка: