0
我正在創建一個指令,它包裝傳遞特定屬性的組件。到目前爲止,我有以下幾點。請注意,它需要訪問父範圍才能正常工作。問題是isOpen變量被放在父範圍上。因此,同一範圍內的兩個日期選擇器(例如開始日期和結束日期)不能獨立觸發。角度指令反向隔離範圍
app.directive('mzDatePicker', [
'underscore',
(_) => {
'use strict'
const dasherize = name =>
name.replace(/[A-Z]/g, (letter, pos) => (pos ? '-' : '') + letter.toLowerCase());
return {
restrict: 'E',
template: (el, attr) => {
//Note ng-required won't work with the same strategy as other attributes
return `
<input uib-datepicker-popup
is-open="isOpen"
show-weeks="false"
show-button-bar="false"
ng-required="${'undefined' == typeof attr.ngRequired ? '' : 'true'}"
${
_.chain(attr)
.pick('ngModel', 'ngModelOptions', 'placeholder', 'class', 'maxDate', 'minDate', 'dateDisabled')
.pairs()
.map(x => `${dasherize(x[0])}="${x[1]}"`)
.value()
.join(' ')
}
/>
<button type="button" ng-click="isOpen = !isOpen">
<i class="fa fa-calendar"></i>
</button>
`
}
} }])
我可以指令隔離只是ISOPEN變量範圍?