AngularJs ng-click无法处理Bootstrap下拉列表

时间:2016-03-30 10:47:25

标签: javascript angularjs twitter-bootstrap

我在AngularJs框架中使用bootstrap 3 CSS 仅使用bootstrap js或jQuery 但是我有一个非常基本的使用问题,ng-click在引导程序dropdown上没有被触发}

HTML

<div class="fc-couponThumbnail">

<i class="icon-ok" ng-if="coupon.couponMainImage=='couponThmub1'"></i>
<div class="dropdown">
    <button  type="button" class="dropdown-toggle" >
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu"  >
        <li ><a ng-click="coupon.couponMainImage='couponThmub1';">set main image</a></li>
        <li><a ng-click="coupon.couponThmub1=''">delete</a></li>
    </ul>
</div>

因为我没有使用bootstrap js所以我制定了这个指令以获得下拉切换

angular.module('FansCoupon').directive('dropdownToggle', function () {
return{
    restrict:'C',
    link:function(scope,ele,attrs){

        ele.on('click', function () {
                ele.parent().toggleClass('open')

        })
        ele.on('blur', function () {
            ele.parent().removeClass('open')
        })
    }
}
})

编辑我

当我使用.dropdown类实例open时,ng-click正常工作!

编辑II

调用函数而不是直接在ng-click中执行javascript也没有用。

1 个答案:

答案 0 :(得分:0)

最后,我的问题的解决方案是使用Angular UI Bootstrap,它将所有引导程序组件作为angular Js指令处理,因此我使用了uib-dropdownuib-dropdown-toggleuib-dropdown-menu

我的代码现在看起来像:

<div class="dropdown" uib-dropdown >
<button  type="button" uib-dropdown-toggle class="dropdown-toggle" >

    <span class="caret"></span>
</button>
<ul class="dropdown-menu" uib-dropdown-menu >
    <li ><a ng-click="coupon.couponMainImage=coupon.couponThmub4;">set main image</a></li>
    <li><a ng-click="coupon.couponThmub4=''">delete</a></li>
</ul>