簡體   English   中英

角度指令反隔離范圍

[英]angular directive inverse isolate scope

我正在創建一個指令,該指令包裝了傳遞特定屬性的組件。 到目前為止,我有以下幾點。 注意,它需要訪問父作用域才能正常工作。 問題在於,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變量嗎?

啊,原來我想要一個兒童瞄准鏡。 設置

scope: true

效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM