Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS-由于多个指令而导致范围冲突_Angularjs_Angularjs Directive_Angularjs Scope - Fatal编程技术网

AngularJS-由于多个指令而导致范围冲突

AngularJS-由于多个指令而导致范围冲突,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我的指令和uib日期选择器弹出窗口之间存在冲突。 我得到一份工作 错误:[$compile:multidir]多个指令[输入(模块:myModule),uibDatepickerPopup(模块:ui.bootstrap.datepicker)]请求新的/隔离的作用域 。这是我的代码: module.run(function($templateCache){ if (!$templateCache.get('input.html')){ $templateCache.pu

我的指令和uib日期选择器弹出窗口之间存在冲突。 我得到一份工作

错误:[$compile:multidir]多个指令[输入(模块:myModule),uibDatepickerPopup(模块:ui.bootstrap.datepicker)]请求新的/隔离的作用域

。这是我的代码:

module.run(function($templateCache){
    if (!$templateCache.get('input.html')){
        $templateCache.put('input.html',
            '<div>' +
                '<span>' +
                    '<button type="button" ng-click="open = true">' +
                        '<span class="glyphicon glyphicon-calendar"></span>' +
                    '</button>' +
                '</span>' +
                '<input type="text" class="form-control" placeholder="TT.MM.JJJJ" ng-model-options="{allowInvalid: true}" is-open="open" />' +
            '</div>');
    }
});
在我们看来,这是:

<input ng-model="myModel" uib-datepicker-popup></input>


uib日期选择器弹出窗口导致错误。我猜它正在创建自己的范围,这与直接的范围相冲突。但我需要指令的范围是真实的。那么我能做什么呢?

“但我需要指令范围为真”——为什么?“那么我能做什么?”-不要尝试在同一个元素上创建多个作用域。因为
ng click=“open=true”
。如果我有一个以上的指令,我不想打开所有的glyphicon日历,但我只想打开我在创建自定义指令时单击的那个指令,该指令不会创建新范围,但会将
uib datepicker popup
设置为内部输入并重新编译。问题是,我想在不同的输入指令中添加不同的datepicker弹出窗口,“但我需要指令范围为true”-为什么?“那么我能做什么?”-不要尝试在同一个元素上创建多个作用域。因为
ng click=“open=true”
。如果我有一个以上的指令,我不想打开所有的glyphicon日历,但我只想打开我在创建自定义指令时单击的那个指令,该指令不会创建新范围,但会将
uib datepicker popup
设置为内部输入并重新编译。问题是,我想在不同的输入指令中添加不同的datepicker弹出窗口
<input ng-model="myModel" uib-datepicker-popup></input>