對於一個日期選擇器控制提到我增加了一些自定義屬性的輸入元素:我怎麼能訪問範圍乏的屬性
<input id="inputDatepicker" ng-model="currentAppointment.date" data-date-format="dd.mm.yyyy" datepicker changedates="currentAppointment.start">
對於我創建了一個指令,建立日期選擇器:
.directive('datepicker', function ($filter) {
return {
restrict: 'A',
require: '?ngModel',
link: function ($scope, $element, $attributes, $ctrl) {
$scope[$attributes.changedates] ... do not work
$element.datepicker();
}
}
});
如何訪問變更屬性中提到的範圍變量?在我上面的例子,我想訪問$scope.currentAppointment.start
如果我理解正確,應該使用$ parse時,有一個孤立的範圍和值需要改變。否則使用$ watch? $ eval呢? –
@FlorianF,使用$ parse或$ watch或$ eval來獲取值。如果值可能改變,請使用$ watch,即您的指令需要對值的更改作出反應。如果沒有隔離範圍並且指令需要能夠更改該值,請使用$ parse($ eval也可以使用,但它不是那麼幹淨:[example](http://stackoverflow.com/a/ 215945分之16494482))。 –
好的,我明白了,謝謝!如果我理解正確,那麼很好的使用$ eval就是當這個值不會改變,並且這個指令不需要改變這個值。 –