填充 angular ui bootstrap 弹出窗口
Populate angular ui bootstrap popover
如何填充 angular ui bootstrap 弹出框?我想用演员姓名列表填充弹出框。这是代码:
<div class="container" ng-if="radioModel=='Search for Actor'">
<p>Movies played in:</p>
<table class="table table-bordered">
<tr ng-repeat="name in listOfMovies">
<td>
<p>
<button uib-popover="populateWithListOfData" popover-trigger="mouseenter" type="button" class="btn btn-default"> {{ name }}</button>
</p>
</td>
</tr>
</table>
</div>
我希望能够为 ng-repeat 的每个名称填充此弹出窗口。因此,我将获得一部电影的名称,并根据该名称在弹出窗口中填充该电影中的演员列表。谢谢大家。
这绝对有可能。
我在 JS
中设置了一个名为 friends 的数据项
$scope.friends = [
{name:'John'},
{name:'Jessie'},
{name:'Johanna'},
{name:'Joy'}
];
此外,为弹出窗口中的文本创建了一个数组
$scope.toolTip =['D','A','C','T'];
If you want to display a pop up for each row.
我已经创建了 ng-repeat 和相关的 popover.In 命令来显示第一个弹出窗口中的所有字母。
<div ng-repeat="f in friends">
{{f.name}}
<button uib-tooltip="{{toolTip[$index]}}" type="button" class="btn btn-default">Tooltip {{placement.selected}}</button>
</div>
这里有一个working demo
How does it works?
你的工具提示值设置为uib-tooltip="{{toolTip[$index]}}"
。它根据从ng-repeat获得的$index访问每个元素。
If you want to display all the data in the first pop up
我已经创建了 ng-repeat 和相关的 popover.In 命令来显示第一个弹出窗口中的所有字母。
<div ng-repeat="f in friends">
<div ng-if="$index==0">
<button uib-tooltip="{{toolTip}}" type="button" class="btn btn-default">Tooltip {{placement.selected}}</button>
</div>
{{f.name}}
</div>
这是一个working demo
How does it works?
你的工具提示值设置为uib-tooltip="{{toolTip}}"
。它进入 ng-if ,如果条件满足,从而打印数组。
我无法测试它是否有效,但这可能会给你灵感。
(function ()
{
function moviePopover($compile)
{
return {
restrict: "EA",
scope: true,
templateUrl: '<button uib-popover-template="dynamicPopover.templateUrl" popover-title="{{dynamicPopover.title}}" type="button" class="btn btn-default">Popover With Template</button>',
link: function (scope, element, attrs)
{
scope.dynamicPopover = {
content: "Movies",
templateUrl: "myPopoverTemplate.html",
title: "Title"
};
if (attrs.movieName !== undefined)
{
scope.movieList = getMoviesByName(attrs.movieName);
$compile(element)(scope);
//If 1st leads to infinit loop use this
// $compile(element.contents())(scope);
}
function getMoviesByName(movieName)
{
//return all moviews based on movieName
//here im just returning dummy array(you return your data)
return ["Movie1", "Movie2"];
}
}
}
}
angular.module("myApp").directive("moviePopover", ["$compile", moviePopover]);
}());
<script type="text/ng-template" id="myPopoverTemplate.html">
<ul>
<li ng-repeat="movie in movieList">{{movie}}</li>
</ul>
</script>
<div class="container" ng-if="radioModel=='Search for Actor'">
<p>Movies played in:</p>
<table class="table table-bordered">
<tr ng-repeat="name in listOfMovies">
<td>
<p>
<movie-popover movie-name="{{name}}"></movie-popover>
</p>
</td>
</tr>
</table>
</div>
如何填充 angular ui bootstrap 弹出框?我想用演员姓名列表填充弹出框。这是代码:
<div class="container" ng-if="radioModel=='Search for Actor'">
<p>Movies played in:</p>
<table class="table table-bordered">
<tr ng-repeat="name in listOfMovies">
<td>
<p>
<button uib-popover="populateWithListOfData" popover-trigger="mouseenter" type="button" class="btn btn-default"> {{ name }}</button>
</p>
</td>
</tr>
</table>
</div>
我希望能够为 ng-repeat 的每个名称填充此弹出窗口。因此,我将获得一部电影的名称,并根据该名称在弹出窗口中填充该电影中的演员列表。谢谢大家。
这绝对有可能。 我在 JS
中设置了一个名为 friends 的数据项$scope.friends = [
{name:'John'},
{name:'Jessie'},
{name:'Johanna'},
{name:'Joy'}
];
此外,为弹出窗口中的文本创建了一个数组
$scope.toolTip =['D','A','C','T'];
If you want to display a pop up for each row.
我已经创建了 ng-repeat 和相关的 popover.In 命令来显示第一个弹出窗口中的所有字母。
<div ng-repeat="f in friends">
{{f.name}}
<button uib-tooltip="{{toolTip[$index]}}" type="button" class="btn btn-default">Tooltip {{placement.selected}}</button>
</div>
这里有一个working demo
How does it works?
你的工具提示值设置为uib-tooltip="{{toolTip[$index]}}"
。它根据从ng-repeat获得的$index访问每个元素。
If you want to display all the data in the first pop up
我已经创建了 ng-repeat 和相关的 popover.In 命令来显示第一个弹出窗口中的所有字母。
<div ng-repeat="f in friends">
<div ng-if="$index==0">
<button uib-tooltip="{{toolTip}}" type="button" class="btn btn-default">Tooltip {{placement.selected}}</button>
</div>
{{f.name}}
</div>
这是一个working demo
How does it works?
你的工具提示值设置为uib-tooltip="{{toolTip}}"
。它进入 ng-if ,如果条件满足,从而打印数组。
我无法测试它是否有效,但这可能会给你灵感。
(function ()
{
function moviePopover($compile)
{
return {
restrict: "EA",
scope: true,
templateUrl: '<button uib-popover-template="dynamicPopover.templateUrl" popover-title="{{dynamicPopover.title}}" type="button" class="btn btn-default">Popover With Template</button>',
link: function (scope, element, attrs)
{
scope.dynamicPopover = {
content: "Movies",
templateUrl: "myPopoverTemplate.html",
title: "Title"
};
if (attrs.movieName !== undefined)
{
scope.movieList = getMoviesByName(attrs.movieName);
$compile(element)(scope);
//If 1st leads to infinit loop use this
// $compile(element.contents())(scope);
}
function getMoviesByName(movieName)
{
//return all moviews based on movieName
//here im just returning dummy array(you return your data)
return ["Movie1", "Movie2"];
}
}
}
}
angular.module("myApp").directive("moviePopover", ["$compile", moviePopover]);
}());
<script type="text/ng-template" id="myPopoverTemplate.html">
<ul>
<li ng-repeat="movie in movieList">{{movie}}</li>
</ul>
</script>
<div class="container" ng-if="radioModel=='Search for Actor'">
<p>Movies played in:</p>
<table class="table table-bordered">
<tr ng-repeat="name in listOfMovies">
<td>
<p>
<movie-popover movie-name="{{name}}"></movie-popover>
</p>
</td>
</tr>
</table>
</div>