我想知道是否有办法将远程动态数据添加到Twitter BS Popover。我已经看到答案,他们用ajax做了,但我试图使用Angular ...下面的代码不适用于弹出窗口,但类似的代码适用于模态。我认为这与无法将函数放在content参数中有关。我在一个应该运行下面代码的表中使用ng-click(displayEvent($ unixdate))的div:
var app = angular.module('cal', []);
function CalCtrl($scope, $http, $templateCache) {
$scope.displayEvent = function(date) {
$scope.url = "/cal/data.php?date="+date;
$scope.method = 'GET';
$scope.data = '';
$scope.date = date;
//popover
$('.callink').popover({trigger:'hover', content:function(){
$http({method: $scope.method, url: $scope.url, cache: $templateCache}).
success(function(data, status) {
$scope.data = JSON.stringify(data);
return $scope.data;
});
}});
//end popover
};
}
答案 0 :(得分:3)
我承认我没有花太多精力去理解所描述的场景,但是为什么选择jQuery?我会检查AngularUI Bootstrap的popover。
答案 1 :(得分:0)
这是因为$http
对象的成功函数被称为异步AFAIK。因此,$scope.data
响应永远不会返回到弹出内容函数。您必须在popover
函数内调用$http.success()
函数:
$http({method: $scope.method, url: $scope.url, cache: $templateCache}).success(function(data, status) {
var jsonData = JSON.stringify(data);
$('.callink').popover({trigger:'hover', content:jsonData});
});
答案 2 :(得分:0)
我会像Kludge一样使用AngularUI Bootstrap。它有一些有用的工具。