2013-05-23 36 views
5

Tôi có một chỉ thị tùy chỉnh được sử dụng để chuẩn hóa các đầu vào ngày và định dạng chúng cho phù hợp với các yêu cầu API (hơi lạ) của tôi. Thẻ dùng để gọi nó là như sau:AngularJS Chỉ thị Tùy chỉnh Đối số với Không gian

<date-input date-id="birthDate" date-label="Date Of Birth" ng-model="client.dateOfBirth"></date-input> 

Tôi nhận được lỗi sau:

Syntax Error: Token 'Of' is an unexpected token at column 6 of the expression [Date Of Birth] starting at [Of Birth]. 

Khi tôi loại bỏ các khoảng trống (ví dụ date-label="DateOfBirth" nó hoạt động tốt.)

Làm thế nào tôi có thể cho phép các khoảng trống trong các thuộc tính chỉ thị?

Chỉ thị:

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' 
    } 
    } 
}]); 

Trả lời

11

nên không được sử dụng @ khi đi qua giá trị thuộc tính vào chỉ thị?

scope: { 
     'dateLabel': '@dateLabel' 
} 
+0

Đúng, đã hiệu quả. Cảm ơn! – jdp

+0

Thực sự hiệu quả. đã không nhận thức được điều này !!! – vinesh

+0

hoạt động với không gian và/Cảm ơn –

Các vấn đề liên quan