Twitter bootstrap 角度ng在引导popover数据内容内重复

Twitter bootstrap 角度ng在引导popover数据内容内重复,twitter-bootstrap,angular,angularjs-directive,popover,Twitter Bootstrap,Angular,Angularjs Directive,Popover,我试图显示用户名列表,但当我将鼠标悬停在图标上时,弹出框显示为空 指令 app.directive('dataContent', function(){ req = [ users =[ {username : 'user1'}, {username : 'user2'} ] ]; return { restrict: 'E', template: '<ul ng-repeat="u in req.users"><

我试图显示用户名列表,但当我将鼠标悬停在图标上时,弹出框显示为空

指令

app.directive('dataContent', function(){
  req = [
    users =[
     {username : 'user1'},
     {username : 'user2'}
   ]
  ];
  return {
     restrict: 'E',
     template: '<ul ng-repeat="u in req.users"><li>{{u.username}}</li></ul>'
   } 
});
app.directive('dataContent',function(){
请求=[
使用者=[
{用户名:'user1'},
{用户名:'user2'}
]
];
返回{
限制:'E',
模板:'
  • {{u.username}}
' } });
html

<i class="fa fa-thumbs-o-up" popover
               data-toggle="popover"
               data-trigger="hover"
               data-html = 'true'
               data-content="<data-content></data-content>">
</i>

我不喜欢变通办法,但在这种情况下,我没有时间,这就完成了我需要的

我最后做的是:

  • 在我的控制器中,而不是在我的指令中,重复ng的列表
  • 重命名我的指令,因为某些原因dataContent无法工作。所以我们称之为“用户”
  • 有一个id为的包装器初始元素,它将呈现我的指令,所以只需:
  • 在我的控制器结束时设置1秒超时,一旦超时,我抓取HTML
    let grabbedHtml=$('#包装器用户').html()
  • 同样,一旦超时,使用Javascript生成popover:
    $(“#要将popover添加到的元素”).popover({
    是的,
    位置:'底部',
    内容:grabbedHtml
    });
  • 最后,删除我的初始包装器元素,
    $(“#包装器用户”).remove()
  • 因此,您的指令将如下所示:

    .directive('users', function () {
    
        return {
            restrict: 'E',
            template: '<ul ng-repeat="u in users"><li>{{u.username}}</li></ul>'
        }
    });
    
    在html文件中:

     <div ng-controller="myController as ctrl">
    
        <users id='wrapper-users' style='display: none;'></users>
    
        <i class="fa fa-thumbs-o-up" id="myI"></i>
    </div>
    
    
    

    我希望这有帮助。它解决了我的问题,这与你的问题完全相同,我需要一个角度的ng重复作为我的引导弹出窗口的内容。

    我不喜欢变通方法,但在这种情况下,我没有时间,这就完成了我需要的

    我最后做的是:

  • 在我的控制器中,而不是在我的指令中,重复ng的列表
  • 重命名我的指令,因为某些原因dataContent无法工作。所以我们称之为“用户”
  • 有一个id为的包装器初始元素,它将呈现我的指令,所以只需:
  • 在我的控制器结束时设置1秒超时,一旦超时,我抓取HTML
    let grabbedHtml=$('#包装器用户').html()
  • 同样,一旦超时,使用Javascript生成popover:
    $(“#要将popover添加到的元素”).popover({
    是的,
    位置:'底部',
    内容:grabbedHtml
    });
  • 最后,删除我的初始包装器元素,
    $(“#包装器用户”).remove()
  • 因此,您的指令将如下所示:

    .directive('users', function () {
    
        return {
            restrict: 'E',
            template: '<ul ng-repeat="u in users"><li>{{u.username}}</li></ul>'
        }
    });
    
    在html文件中:

     <div ng-controller="myController as ctrl">
    
        <users id='wrapper-users' style='display: none;'></users>
    
        <i class="fa fa-thumbs-o-up" id="myI"></i>
    </div>
    
    
    

    我希望这有帮助。它解决了我的问题,这与您的问题完全相同,我需要一个有角度的ng重复作为我的引导popover的内容。

    我的解决方案是添加一个新的指令:

    angular.module('Your-Module-Here').directive('popover', function () {
        return function (scope, elem) {
            elem.popover({
                trigger: 'hover'
            });
        }
    });
    

    我希望这对您有所帮助。

    我的解决方案是添加一个新指令:

    angular.module('Your-Module-Here').directive('popover', function () {
        return function (scope, elem) {
            elem.popover({
                trigger: 'hover'
            });
        }
    });
    
    我希望这对你有帮助