Angular Соглашения об именах JS ($, camelCase и PascalCase)
Что такое соглашение в AngularJS для префиксов провайдеров с $?
Должен ли я префикс всех настраиваемых сервисов в моем собственном коде?
Похоже, что все, что поставляется с angular, имеют префиксные услуги, например. $http
. Однако в большинстве статей контроллеры не имеют префикса $
.
Кроме того, весь код angular поставляется с услугами, указанными в camelCase
, однако я также видел PascalCase
во многих блогах в Интернете. Какой из них является конвенцией?
Ответы
Ответ 1
Документы заявляют это соглашение для внутренних служб, но также заявляют, что вы не должны делать это для своих собственных служб, чтобы уменьшить коллизии имен.
http://docs.angularjs.org/guide/concepts#angular_namespace
Кроме того, в отношении camelCase, документы говорят использовать camelCase.
Angular использует имена с тире для имен атрибутов и camelCase для соответствующее название директивы
http://docs.angularjs.org/tutorial/step_00
Ответ 2
-
Используйте PascalCase
для контроллеров и для функций, которые возвращают функцию конструктора, которая должна быть введена в действие, например. var user = new User()
. Контроллеры в Angular рассматриваются как функции конструктора областей - таким образом, PascalCase.
-
Контроллеры должны иметь Controller
, добавленные в их имя. См. http://demisx.github.io/angularjs/2014/09/14/angular-what-goes-where.html для обозначения примеров.
-
Используйте camelCase
для всего остального.
Они следуют важным соглашениям Javascript, к которым привыкли разработчики по всему миру.
Ответ 3
We can filter Text in CamelCase using following code
app.filter('camelCase', function(){
var camelCaseFilter = function(input){
var words = input.split(' ');
for (var i = 0, len = words.length; i < len; i++)
words[i] = words[i].charAt( 0 ).toUpperCase() + words[i].slice(1);
return words.join(' ');
};
return camelCaseFilter;
});