2015-06-08 81 views
0

我不知道我在做什麼錯在這裏,我試圖添加一個角度xeditable datepicker到一個可編輯的窗體,但我得到以下錯誤,當窗體是顯示angular-xeditable ui.bootstrap.datepicker解析錯誤

Error: [$parse:syntax] http://errors.angularjs.org/1.3.15/$parse/syntax?p0=Jun&p1=is%20an%20unexpected%20token&p2=5&p3=Mon%20Jun%2008%202015%2013%3A37%3A02%20GMT-0400%20(EDT)&p4=Jun%2008%202015%2013%3A37%3A02%20GMT-0400%20(EDT) 
    at Error (native) 
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:6:417 
    at ib.throwError (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:191:165) 
    at ib.parse (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:189:457) 
    at $get (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:110:285) 
    at https://workland.ca/wp-content/themes/upc/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js?ver=1.0:8:23047 
    at Object.r [as forEach] (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:7:302) 
    at link (https://workland.ca/wp-content/themes/upc/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js?ver=1.0:8:22940) 
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:70:141 
    at $ (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js?ver=1.3.15:70:197) <input type="text" class="form-control ng-pristine ng-untouched ng-valid ng-isolate-scope" ng-model="$data" datepicker-popup="dd-MMMM-yyyy" datepicker-mode="day" show-weeks="true" starting-day="0" init-date="Mon Jun 08 2015 13:37:02 GMT-0400 (EDT)" min-mode="day" max-mode="year" format-day="dd" format-month="MMMM" format-year="yyyy" format-day-header="EEE" format-day-title="MMMM yyyy" format-month-title="yyyy" year-range="20" show-button-bar="true" current-text="Today" clear-text="Clear" close-text="Done" close-on-date-selection="true" date-picker-append-to-body="false"> 

表格html。

<form         
    onbeforesave="onsave({$data:$data})" 
    editable-form 
    name="forms.{{formName}}" 
    > 
    <!-- more form controles... --> 
    <div 
     editable-bsdate="item.dateobtained" 
     e-datepicker-popup='yyyy-MM-dd' 
     e-name="dateobtained" 
     onbeforesave="" 
     e-required> 
    </div> 
</form> 

回答

0

我剛剛有這個想法,並認爲我會傳遞到哪裏去。我使用xeditable 0.1.9和ui-bootstrap 0.14.3。該錯誤來自一個日期對象,我將其追蹤到datepicker的init-date屬性。如果不指定init-date,則xeditable會放入「new Date()」,並且這是導致錯誤的日期對象來自的位置。我試過使用e-init-date將屬性設置爲別的東西,但是我找不到任何可行的東西。我最終進入了代碼並註釋掉#113行,因此xeditable不會爲init-date做任何事情,它只是讓ui-bootstrap通過默認值處理它。它看起來像datepicker設置爲「new Date()」的默認值,所以我不知道他們爲什麼不一樣。但如果我註釋掉那條線,那麼一切正常,沒有更多的解析錯誤。

我還發現了一些其他的怪癖。日期選擇器設置的格式幾乎被datepicker忽略。我所做的是像往常一樣使用e-datepicker-popup,然後以e-datepicker-popup-x-editable的格式重複該格式。事情是這樣的:

E-日期選擇器,彈出= 'YYYY-MM-DD' E-日期選擇器,彈出-X編輯= 'YYYY-MM-DD'

才造成了這種日期是總是以我想要的方式顯示,無論是否處於編輯模式,以及彈出式日曆是否可見。否則,格式會根據控件的狀態而改變。