У меня есть директива, которая заменяет строку времени даты mysql на месяц и дату. но он дает мне синтаксическую ошибку синтаксического анализа.angularjs синтаксическая синтаксическая ошибка при разбиении строки
Директива:
directiveApp.directive('cleanDate',function(){
var monthName = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec"];
return {
restrict: 'AE',
template: '{{mon}} {{date}}',
scope: {
timeset: '='
},
link: function(scope, element, attr) {
console.log(scope.timeset);
var t = scope.timeset.split(/[- :]/);
console.log(t);
if (parseInt(t[0]) != 0 && parseInt(t[1])!=0 && parseInt(t[2])!=0){
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
scope.mon = monthName[d.getMonth()];
scope.date = d.getDate();
}
else{
scope.mon = '';
scope.date='';
}
}
};
Директива Тест:
describe('getDistance Directive',function(){
var $scope,$compile,template;
beforeEach(inject(function(_$compile_, _$rootScope_){
$scope = _$rootScope_;
$compile = _$compile_;
}));
it ('Check Clean Date',function(){
var element = "<clean-date timeset='2015-01-20 11:17:32'></clean-date>";
template = $compile(element)($scope);
$scope.$digest();
expect(template.html()).toBe('January 20');
});
});
Но этот тест реагирует с ошибкой синтаксического анализа синтаксиса
Error: [$parse:syntax] Syntax Error: Token '11' is an unexpected token at column 12 of the expression [2015-01-20 11:17:32] starting at [11:17:32].
Я использую тот же код в одном из моего ионным проекта и он отлично работает, но передача в angularjs v1.2.28 дает мне головную боль. Пожалуйста, помогите
Я попытался изменить timeset на @, но он возвращается NAN –
Что устанавливается на NaN? scope.timeset? – jlowcs