【发布时间】:2016-09-02 10:30:19
【问题描述】:
我的应用中有以下代码:
<li ng-repeat="data in array">
<ul class="social-share">
<li>
<a href="" rel="popover" popover data-popover-content="#myPopover"><i class="fa fa-share-alt"></i>Share</a>
<div id="myPopover" class="hide">
<strong>Social Share</strong>
<ul class="social-spacing">
<li><a class="btn btn-primary share-button" title="" data-original-title="" href="" ng-click="share(data.translation)">Facebook</a></li>
</ul>
</div>
</li>
</ul>
<p class="eng-translation">{{data.translation}}</p>
</li>
我正在使用一个角度指令来显示包含社交分享选项的弹出框。指令如下:
myApp.directive('popover', function() {
return function(scope, elem) {
elem.popover({
container: 'body',
html: true,
content: function () {
var clone = $($(this).data('popover-content')).clone(true).removeClass('hide');
return clone;
}
}).click(function(e) {
e.preventDefault();
});
}
});
数组中的所有数据都可以正常显示,就像使用 ng-repeat 时一样。但是,当我单击 Facebook 分享按钮时,它只会将数组的第一个元素发送到函数“分享”。 如果我不使用弹出框,它可以正常工作。 对此的任何帮助都会非常友好。
编辑:添加数组对象
$scope.array = [
{
'translation': 'translation-1'
},
{
'translation': 'translation-2'
},
{
'translation': 'translation-3'
},
{
'translation': 'translation-4'
},
{
'translation': 'translation-5'
},
{
'translation': 'translation-6'
},
{
'translation': 'translation-7'
}
];
【问题讨论】:
-
array对象在哪里? -
用
array对象@ojuskulkarni 更新了我的问题
标签: angularjs twitter-bootstrap ng-repeat popover