У меня есть настраиваемая директива, используемая для стандартизации ввода данных и форматирования их в соответствии с моими (несколько странными) требованиями API. Тег используется для вызова его следующим образом:Пользовательские директивы AngularJS с пробелами
<date-input date-id="birthDate" date-label="Date Of Birth" ng-model="client.dateOfBirth"></date-input>
я получаю следующее сообщение об ошибке:
Syntax Error: Token 'Of' is an unexpected token at column 6 of the expression [Date Of Birth] starting at [Of Birth].
Когда я удалить пробелы (т.е. date-label="DateOfBirth"
он работает отлично.)
Как разрешить пробелы в атрибутах директивы?
директива:
directives.directive('dateInput', [function() {
var link = function(scope, element, attrs, model) {
scope.dateLabel = attrs.dateLabel;
scope.dateId = attrs.dateId;
var dateObjectPre = moment(scope.dateObject);
scope.dateObjectPre = dateObjectPre.format('MMDDYYYY');
scope.update = function() {
var dateObject;
if(angular.isDefined(scope.dateObjectPre)) {
dateObject = moment(scope.dateObjectPre, 'MMDDYYYY');
}
if (dateObject && dateObject.isValid()) {
scope.dateObject = dateObject.format('YYYY-MM-DD');
}
else {
scope.dateObject = '';
}
};
};
return {
restrict: 'E',
link: link,
templateUrl: '/views/directives/dateInput.html',
replace: true,
scope: {
'dateLabel': '=dateLabel',
'dateObject': '=ngModel',
'dateShow': '=dateShow',
'dateRequired': '=dateRequired',
'dateId': '=dateId'
}
}
}]);
Да, это сработало. Благодаря! – jdp
Действительно работает. не знал об этом !!! – vinesh
работает с пробелами и/спасибо –