我如何模拟 AngularJS 中的选项卡自动点击?
How can i simulate a tab auto-click in AngularJS?
我有一个带有项目文本的下拉菜单
Tab1 (itemValue=1)
Tab2 (itemvalue=2)
<ul class="nav nav-tabs">
<li ng-click="setTab(1)" class="active"><a href="#tab1" data-toggle="tab">Tab1</a></li>
<li ng-click="setTab(2)" ng-show="tabTab2Visible"><a href="#tab2" >Tab2</a></li>
<li ng-click="setTab(3)" ng-show="tabTab3Visible"><a href="#tab3" >Tab3</a></li>
</ul>
如果用户从下拉列表中选择 Tab1,则 Tab2 不可见,就好像用户单击了 tab2 以显示详细信息一样
我想在 angularjs 中自动模拟标签点击?
我如何在 AngularJs 中执行此操作?
我认为其他显示是错误。也许你可以分享更多代码。无论如何。我创建了一个小示例来展示,如果您使用下拉菜单或 li,它是如何工作的。
我希望这能修复您的错误或提示您足以解决它!也许,您可以分享更多背景信息。
检查 plnkr 是否正常工作:https://plnkr.co/edit/jsCt9ROBstC4W80s
脚本:
import angular from 'angular';
angular.module('plunker', []).controller('MainCtrl', function($scope) {
$scope.tabs = [{
name: 'Tab 1',
}, {
name: 'Tab 2',
}, {
name: 'Tab 3',
}];
$scope.setTab = function (tabName) {
$scope.urlTab = tabName;
}
$scope.urlTab = $scope.tabs[0].name;
$scope.dropdownTab = $scope.tabs[0];
});
HTML
<body ng-app="plunker" ng-cloak>
<div ng-controller="MainCtrl">
<h2>UL Example</h2>
<ul>
<li ng-repeat="tab in tabs" ng-click="setTab(tab.name)" class="active"><a href="" data-toggle="tab">{{tab.name}}</a>
</li>
</ul>
UL Tab: {{ urlTab }}<br/>
<div>
<div ng-if="urlTab === tabs[0].name">Tab 1</div>
<div ng-if="urlTab === tabs[1].name">Tab 2</div>
<div ng-if="urlTab === tabs[2].name">Tab 3</div>
</div>
<h2>Dropdown Example</h2>
<select ng-options="tab as tab.name for tab in tabs track by tab.name" ng-model="dropdownTab">
</select><br/>
Dropdown Tab: {{ dropdownTab.name }}
<div>
<div ng-if="dropdownTab.name === tabs[0].name">Tab 1</div>
<div ng-if="dropdownTab.name === tabs[1].name">Tab 2</div>
<div ng-if="dropdownTab.name === tabs[2].name">Tab 3</div>
</div>
</div>
</body>
我有一个带有项目文本的下拉菜单 Tab1 (itemValue=1) Tab2 (itemvalue=2)
<ul class="nav nav-tabs">
<li ng-click="setTab(1)" class="active"><a href="#tab1" data-toggle="tab">Tab1</a></li>
<li ng-click="setTab(2)" ng-show="tabTab2Visible"><a href="#tab2" >Tab2</a></li>
<li ng-click="setTab(3)" ng-show="tabTab3Visible"><a href="#tab3" >Tab3</a></li>
</ul>
如果用户从下拉列表中选择 Tab1,则 Tab2 不可见,就好像用户单击了 tab2 以显示详细信息一样 我想在 angularjs 中自动模拟标签点击? 我如何在 AngularJs 中执行此操作?
我认为其他显示是错误。也许你可以分享更多代码。无论如何。我创建了一个小示例来展示,如果您使用下拉菜单或 li,它是如何工作的。
我希望这能修复您的错误或提示您足以解决它!也许,您可以分享更多背景信息。
检查 plnkr 是否正常工作:https://plnkr.co/edit/jsCt9ROBstC4W80s
脚本:
import angular from 'angular';
angular.module('plunker', []).controller('MainCtrl', function($scope) {
$scope.tabs = [{
name: 'Tab 1',
}, {
name: 'Tab 2',
}, {
name: 'Tab 3',
}];
$scope.setTab = function (tabName) {
$scope.urlTab = tabName;
}
$scope.urlTab = $scope.tabs[0].name;
$scope.dropdownTab = $scope.tabs[0];
});
HTML
<body ng-app="plunker" ng-cloak>
<div ng-controller="MainCtrl">
<h2>UL Example</h2>
<ul>
<li ng-repeat="tab in tabs" ng-click="setTab(tab.name)" class="active"><a href="" data-toggle="tab">{{tab.name}}</a>
</li>
</ul>
UL Tab: {{ urlTab }}<br/>
<div>
<div ng-if="urlTab === tabs[0].name">Tab 1</div>
<div ng-if="urlTab === tabs[1].name">Tab 2</div>
<div ng-if="urlTab === tabs[2].name">Tab 3</div>
</div>
<h2>Dropdown Example</h2>
<select ng-options="tab as tab.name for tab in tabs track by tab.name" ng-model="dropdownTab">
</select><br/>
Dropdown Tab: {{ dropdownTab.name }}
<div>
<div ng-if="dropdownTab.name === tabs[0].name">Tab 1</div>
<div ng-if="dropdownTab.name === tabs[1].name">Tab 2</div>
<div ng-if="dropdownTab.name === tabs[2].name">Tab 3</div>
</div>
</div>
</body>