我有15个标签使用像这样的角度ui标签

这是模板

<tabset justified="true">
    <tab heading="{{ tab.display }}"
         select="tsc.selectTab(tab.date)"
         ng-repeat="tab in tsc.tabs">
         <div ng-include="'entries.html'"></div>
    </tab>
</tabset>

这是控制器

$scope.activeTabDate = '';

self.selectTab = function (tabDate) {
    $scope.activeTabDate = tabDate;

};

现在这是entries.html的我的子控制器

$scope.$parent.$watch('activeTabDate', function (newValue, oldValue) {
    if (newValue !== oldValue) {
        console.log('--'+newValue);
    }
});

我在页面上有15个标签。 我的问题是每次我点击标签。 在console.log中,我得到15个条目而不是一个条目。 这是为什么

===============>>#1 票数:3 已采纳

从entries.html中删除手动导入,并在包含entries.html的div中使用ng-controller。 然后,我认为你不需要在子控制器中使用$ scope.parent,因为范围将与主要的一样

<tabset justified="true">
    <tab heading="{{ tab.display }}"
         select="tsc.selectTab(tab.date)"
         ng-repeat="tab in tsc.tabs">
         <div ng-include="'entries.html'" ng-controller="yourchildcontroller"></div>
    </tab>
</tabset>


$scope.$watch('activeTabDate', function (newValue, oldValue) {
    if (newValue !== oldValue) {
        console.log('--'+newValue);
    }
});

编辑您也可以通过我的第一次更改从每个标签控制器执行手表。

这样控制器将控制tabset的所有子元素并共享相同的$ scope。

<tabset justified="true" ng-controller="yourchildcontroller">
<tab heading="{{ tab.display }}"
select="tsc.selectTab(tab.date)"
ng-repeat="tab in tsc.tabs">
<div ng-include="'entries.html'" ></div>
</tab>
</tabset>


$scope.$watch('activeTabDate', function (newValue, oldValue) {
  if (newValue !== oldValue) {
    console.log('--'+newValue);
  }
});

https://docs.angularjs.org/api/ng/directive/ngController

  ask by user3214546 translate from so

未解决问题?本站智能推荐:

2回复

Angular UI选项卡-单独的选项卡内容和选项卡标题

我在尝试使用uib-tabset插件时遇到问题,确定该插件正常工作,但是我需要在特定的东西上使用它。 问题:如何将选项卡标题与选项卡内容分开。 angular.module('ui.bootstrap.demo', ['ngAnimate', 'ngSanitize', 'ui
1回复

Angular-ui-bootstrap —无法禁用ng-repeat内的选项卡

所有。 我正在使用angular和ui-bootstrap创建选项卡菜单,希望用户可以在这些菜单上启用/禁用他们不需要的选项卡。 我试图非常严格地遵守模板代码,并实现了自己的功能以禁用单击选项卡,但是我无法使选项卡以与示例中相同的方式进行响应。 我一直在阅读,可能会认为它与ng-rep
1回复

带有Ng-repeat和静态选项卡的ui-tab

我正在尝试为日期创建标签。 我还想要一个标签,点击它时会添加另一个标签。 这是我的一些代码 其中dates = {date:“someDate”,active:false}。 问题是当我在HTML中运行它时,我注意到uib-tabset的active不是设置为第一个tab选
2回复

停用Angular md-tabs中的第二个选项卡

棱角材质的md-tabs中是否有任何属性可以禁用选项卡,这些属性与它们在Bootstrap中的功能类似。 像这样吗
1回复

angularjs引导ng-repeat在选项卡内不起作用

我正在尝试使用angularjs ui-bootstrap构建选项卡。让选项卡工作。 在标签下方,使用ng-repeat显示内容。 在其中一个标签中,要搜索ng-repeat中列出的内容。 但是搜索不起作用。 如果我将搜索框移出选项卡,则它正在运行。 HTML代码:
1回复

选择UI-TAB的模板

我必须在Web应用程序中使用ui.bootstrap做一些选项卡。 我想为每个选项卡选择一个模板,但是它不起作用。 为什么? 这是tabs.html: “ one.html”和“ two.html”都在“ tabs.html”的同一目录中。 PS它不会给我一个错误,只是它不会向我
4回复

Angular UI Bootstrap垂直选项卡

使用Angular UI Bootstrap,我们如何构建垂直堆叠的选项卡,这些选项卡与选项卡内容左对齐,看起来像这样?
2回复

AngularJS和Angular-UI Bootstrap选项卡范围

我正在使用AngularJS和Angular-UI Bootstrap选项卡。 这是我的控制器: 我的看法 当我使用Angular-UI Bootstrap选项卡时,有人可以帮我看看为什么登录未定义。 它是否在创建自己的范围。 如何访问模型值?
1回复

通过url参数选择Angular UI选项卡

我正在使用Angular UI选项卡,并希望实现两件事:首先,当选择选项卡(可标记)时,URL应该更新。 其次,我希望根据URL加载正确的选项卡。 例如。 http://foobar.com/foo/tab1应该选择tab1 谢谢
1回复

如何在更改选项卡时获取UI Bootstrap选项卡以发送事件

我正在使用上面的UI Bootstrap选项卡,当你在标签之间切换时有没有办法让广播事件?