Angular 1.5绑定ng-repeat创建了控件?

时间:2017-03-06 20:01:37

标签: angularjs twitter-bootstrap angularjs-scope

Angular 1.5

ng-repeat我创建一个按钮,显示带有锚链接的Bootstrap popup

如何绑定onAction来电,以便调用我的$scope.onAction()功能? (onAction()未绑定到$ scope.onAction()。)

<div ng-repeat="item in model.Holdings  track by $index" bs-popover>

  <button class="popoverBtn" 
        data-content="<a ng-click='onAction(1)'>Buy</a>...and more"
          click me to show popup
  </button>

</div>

这是我的指令,它打开了Bootstrap popover:

app.directive('bsPopover', function () {
    return function (scope, element, attrs) {
        element.find(".popoverBtn").popover({ placement: 'auto', html: 'true' });

    ????COMPILE GOES HERE???////
    };
});

3 个答案:

答案 0 :(得分:0)

听起来你想让onAction方法获取一个项目标识符。

也许像<a ng-click='onAction(item.id)'>Buy</a> ??

据我所知,您处于存储数据的控制器范围内。如果你有嵌套的ng-repeats,请查看$ parent。

答案 1 :(得分:0)

如果您希望在点击事件中将项目的索引值传递到您的函数中,则只需传递$index而不是显式值。例如:

<div ng-repeat="item in model.Holdings track by $index">
  <button class="btn btn-primary" 
        data-content="<a ng-click='onAction($index)'>Buy</a>...and more">
    click me to show popup
  </button>
</div>

答案 2 :(得分:0)

UI-Bootstrap项目似乎对Angular + Bootstrap使用简单易用。

https://angular-ui.github.io/bootstrap/

这有效