【问题标题】:How to pass data to angular-strap popover如何将数据传递给 angular-strap popover
【发布时间】:2014-07-17 17:06:06
【问题描述】:

我试图在将鼠标悬停在全日历项目上时显示 angular-strap popover。

我正在使用 eventMouseover/eventMouseout 回调来显示/隐藏弹出框:

$scope.calendarConfig = {
  defaultView: 'basicWeek',
  eventMouseover: function(event, jsEvent, view) {
    element = $(jsEvent.target).closest('.fc-event');
    popover = $popover(element, {placement: 'bottom', contentTemplate: 'calendar-item-popover.html'});
    popover.$promise.then(popover.show);
  },
  eventMouseout: function() {
    popover.hide();
    popover = null;
  }
};

然后我有一个弹出框正文模板:

<script type="text/ng-template" id="calendar-item-popover.html">
  <p>Event</p>
  <p>event: {{event | json}}</p>
</script>

我的问题是如何将“事件”传递给 popover 范围?

这里是 plunker:http://plnkr.co/9c6BDWsYuuWAfI4HnJAH

【问题讨论】:

    标签: angularjs fullcalendar popover angular-strap


    【解决方案1】:

    我有一个可行的解决方案; popover 的作用域可以通过popover.$scope 访问:

    popover.$scope.event = event
    

    工作的笨蛋:

    http://plnkr.co/W8n6LxsLCyZFO6ufPHvW

    不确定这是否是最佳解决方案,所以我会等待一段时间的反馈。

    【讨论】:

    • 为我工作!我认为唯一的其他最佳解决方案是 popover 指令提供一种“解析”值的方法(与 Angular 路由/Angular UI 路由器状态/Angular UI Bootstrap 模态对话框相同)。所以除非新功能,这似乎是要走的路:)
    • 附带说明,虽然这似乎解决了最初的问题,但当我使用上面显示的方法创建弹出框时,我在处理弹出框和/或尝试制作弹出框时遇到问题它第二次出现。根据我所做的,弹出框会快速出现和消失,或者它会启动弹出框的多个实例。
    • 也许你应该做一个 plunkr 并发布一个新问题,我很想看看它
    • 我最终意识到我不需要将我的数据传递到 $scope,因为弹出框的范围正在继承有问题的数据(doh!)。我尝试了很多东西,我不知道从哪里开始 w/a plunkr :) 但我仍然感谢您提供的问题/答案的洞察力!
    • 你是天才,也是学者!我为此奋斗了好几天
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2021-08-18
    • 1970-01-01
    • 2016-08-18
    • 2021-01-23
    相关资源
    最近更新 更多