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