簡體   English   中英

如何在模態的角度/角度帶中創建新的范圍

[英]How to create a new scope in angular / angularstrap for a modal

我正在嘗試創建一個服務,該服務將顯示某些模式及其相應的模板,並自動將按鈕掛接到供應商事件處理程序。 我遇到的問題是,當我的模式彈出時,應該包含handleConfirmClick和handleCancelClick的作用域都為空(使用Batarang進行了查看)。

我正在使用打字稿,並且調試了底層的JS代碼,並看到在創建模態時modalScope.handleConfirmClick不為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'
        });
    }

您顯示的代碼是有效的。

$ modal僅使用$new創建您在modalScope中傳遞的副本: https : //github.com/mgcrea/angular-strap/blob/master/src/modal/modal.js#L38,並且應包含handleConfirmClickhandleCancelClick函數在__proto__

調試建議:

此時在瀏覽器開發工具中放置一個斷點: https : //github.com/mgcrea/angular-strap/blob/master/src/modal/modal.js#L39並打印scope.handleConfirmClickscope.handleCancelClick 兩者都應在控制台上打印功能主體。 如果是這樣,您的錯誤不是在創建新范圍

暫無
暫無

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

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