Javascript 角度定向逆隔离范围

Javascript 角度定向逆隔离范围,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我正在创建一个指令,用于包装传递特定属性的组件。到目前为止,我有以下几点。请注意,它需要访问父作用域才能正常工作。问题是isOpen变量随后被放置在父作用域上。因此,同一范围内的两个日期选择器(例如开始日期和结束日期)不能独立触发 app.directive('mzDatePicker', [ 'underscore', (_) => { 'use strict' const dasherize = name => name.replace(/[A-Z]/g, (letter,

我正在创建一个指令,用于包装传递特定属性的组件。到目前为止,我有以下几点。请注意,它需要访问父作用域才能正常工作。问题是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>
        `
    }
} }])
app.directive('mzDatePicker'[
“下划线”,
(_) => {
“严格使用”
const dasherize=name=>
name.replace(/[A-Z]/g,(字母,pos)=>(pos?'-':'')+letter.toLowerCase());
返回{
限制:'E',
模板:(el,attr)=>{
//注:ng required与其他属性的策略不同
返回`
`${dasherize(x[0])}=“${x[1]}”`)
.value()
.加入(“”)
}
/>
`
}
} }])

我可以让指令只隔离作用域中的isOpen变量吗?

啊,原来我想要一个子作用域。背景

scope: true
效果很好