Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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
Javascript 如何在模态的角度/角度陷阱中创建新范围_Javascript_Angularjs_Typescript_Angular Strap - Fatal编程技术网

Javascript 如何在模态的角度/角度陷阱中创建新范围

Javascript 如何在模态的角度/角度陷阱中创建新范围,javascript,angularjs,typescript,angular-strap,Javascript,Angularjs,Typescript,Angular Strap,我正在尝试创建一个服务,该服务将显示某些模态及其相应的模板,并自动将按钮连接到供应商事件处理程序。我遇到的问题是,当我的模式弹出时,应该包含HandleConfigClick和handleCancelClick的作用域都为空(使用Batarang查看) 我使用的是typescript,我调试了底层的JS代码,发现modalScope.handleConfigClick在创建模式时不是null,但创建模式后,模式作用域的两个句柄函数都是null public createAndShowConfir

我正在尝试创建一个服务,该服务将显示某些模态及其相应的模板,并自动将按钮连接到供应商事件处理程序。我遇到的问题是,当我的模式弹出时,应该包含HandleConfigClick和handleCancelClick的作用域都为空(使用Batarang查看)

我使用的是typescript,我调试了底层的JS代码,发现modalScope.handleConfigClick在创建模式时不是null,但创建模式后,模式作用域的两个句柄函数都是null

public createAndShowConfirmCancelModal(header:string, content:string, okClick:() => void, cancelClick?:() => void)
    {
        var modalScope = <any>this.$rootScope.$new();
        modalScope.handleConfirmClick = okClick;

        modalScope.handleCancelClick = () => {
            if (cancelClick != null)
            {
                cancelClick();
            }
            modalScope.$hide();
        };

//        modalScope.();

        this.$modal({
            scope: modalScope,
            show: true,
            content: content,
            title: header,
            container: '.contain',
            template: 'js/pages/components/confirmCancelModal.html'
        });
    }
public createAndShowConfirmCancelModal(标题:字符串,内容:字符串,确定单击:()=>void,取消单击?:()=>void)
{
var modalScope=this.$rootScope.$new();
modalScope.handleConfirmClick=ok单击;
modalScope.handleCancelClick=()=>{
如果(取消单击!=null)
{
取消单击();
}
modalScope.$hide();
};
//模态镜(;
这是$modal({
经营范围:modalScope,
秀:没错,
内容:内容,,
标题:标题,
容器:'.包含',
模板:“js/pages/components/confirmCancelModal.html”
});
}

您显示的代码是有效的

$modal仅使用
$new
:创建传入modalScope的副本,并应包含
\u proto\u
上的函数
handleConfigClick
handleCancelClick

调试建议:
此时在浏览器开发工具中放置断点:并打印
scope.handleConfirmClick
scope.handleCancelClick
。两者都应在控制台上打印功能体。如果是这样,您的错误不在于创建新的范围。

您的一切都基于巴塔朗吗?你知道batarang不显示函数引用,对吗?它是否明确表示它们是
null
,或显示空值?我尝试设置断点,但断点未命中,巴塔朗显示null,而不仅仅是空值。