Angularjs 在控制器中单击鼠标

Angularjs 在控制器中单击鼠标,angularjs,angular-bootstrap,Angularjs,Angular Bootstrap,场景 我在模态a中有一个旋转木马,它由一堆幻灯片组成。每张幻灯片都是一张信用卡。但是,其中一张幻灯片允许用户启动模式B;此模式(模式B)用于记录新的信用卡详细信息。模式B中的对象在关闭后返回A,然后应将其添加到模式A中的旋转木马中 模式A 模式B 当然,我希望这张信用卡(幻灯片)具有与其他信用卡相同的功能,例如,如果我单击它,它将成为默认信用卡,并在右上角以灰色背景和绿色勾号突出显示 我正在为旋转木马使用滑动滑动条,要添加新幻灯片,它需要一个字符串,因此我尝试在添加HTML字符串之前对

场景

我在模态a中有一个旋转木马,它由一堆幻灯片组成。每张幻灯片都是一张信用卡。但是,其中一张幻灯片允许用户启动模式B;此模式(模式B)用于记录新的信用卡详细信息。模式B中的对象在关闭后返回A,然后应将其添加到模式A中的旋转木马中


模式A


模式B


当然,我希望这张信用卡(幻灯片)具有与其他信用卡相同的功能,例如,如果我单击它,它将成为默认信用卡,并在右上角以灰色背景和绿色勾号突出显示

我正在为旋转木马使用滑动滑动条,要添加新幻灯片,它需要一个字符串,因此我尝试在添加HTML字符串之前对其进行角度化:

    // Adds the new credit card 
    $scope.addNewCreditCard = function (newCreditCard) {

        var slider = $('.slick-slider');
        if (slider) {
            var tempData = $scope.creditCardDetails;
            $scope.creditCardDetails = null;

            var htmlString = '<div class="creditcard" ng-click="fooBar()" '+
                                '<p>Some text</p>'+
                             '</div>';
            // Angularize the string
            var ngString = $compile(htmlString)($scope);
            slider.slickAdd( ngString, 0, true);

            // Update the object
            $scope.creditCardDetails = tempData;
        } else {
            $log.error('Not found');
        }
    };

在回答您的问题之前,我想让您注意您的情况:

var slider = $('.slick-slider');
if (slider) { ... }
var slider = $('.slick-slider');
if (typeof slider[0] != "undefined") { ... }
/* OR if (typeof slider[0] === "object") { ... } */
我不知道这是否是角度语法,但我认为应该使用这种条件:

var slider = $('.slick-slider');
if (slider) { ... }
var slider = $('.slick-slider');
if (typeof slider[0] != "undefined") { ... }
/* OR if (typeof slider[0] === "object") { ... } */
为了回答这个问题,我并没有真正使用AngularJS,但在提到“”时,您可能需要执行以下操作:

var ngString.html($compile(htmlString)($scope));

我希望这些信息对您有所帮助。

fooBar()应该在$scope中,是吗?@one-way是的-它与我在$compile中使用的范围相同,因此它应该是可访问的。请回答,很抱歉花了这么长时间。上面为var ngString.html编写的代码在语法上不正确,因此无法工作。