【发布时间】:2017-11-05 18:56:20
【问题描述】:
我正在开发 angularjs 应用程序。 我的要求是根据选择的下拉列表值隐藏或显示数据。如果我选择从下拉列表中显示选项,我需要显示选项卡的数据,如果用户从下拉列表中选择“隐藏”,则不应显示选项卡内的内容。请建议。
我要遵循的一种方法是,默认情况下,下拉列表中的选项应为显示,并且选项卡数据应可用,当用户选择隐藏时,选项卡内容应隐藏或不显示。 请建议如何在 angularjs 中执行相同的操作。 我正在考虑的另一个问题是,现在我的选择框没有显示任何选定的选项,默认情况下我想选择“显示”选项。请找到演示here
js代码:
var myApp = angular.module('tabs', [ 'ui.bootstrap']);
myApp.controller('tabsctrl', function ($rootScope,$scope) {
$rootScope.tabName ='MyTab Name';
$rootScope.tabValue="tab1Value";
$scope.applicationData = {};
$scope.activeModule = "tab1Value";
$scope.programModules=[{"tabName":"Tab1","tabValue":"tab1Value"},{"tabName":"Tab2","tabValue":"tab2Value"}];
$scope.loadApplicationData = function(tabVal,tabName){
$rootScope.tabName =tabName;
alert("$rootScope.tabName :: "+$rootScope.tabName);
$rootScope.tabValue=tabVal;
$scope.activeModule = tabVal;
};
$scope.loadApplicationData($scope.activeModule,'Tab1');
});
myApp.controller('chapter',function($scope,$http){
$scope.modelidchange = function () {
$scope.id = $scope.selectedValue;
alert($scope.id)
}
});
【问题讨论】:
-
由于您有两个控制器,您可能会查看广播并以角度发出事件。
-
我看到你也在使用两个控制器。然后我在答案中指导了如何使用两个控制器和一个工厂来做到这一点。
-
@ShivKumarGanesh - 作为一个我想拥有两个控制器的新手,我希望将下拉列表的值分配给 js 代码中的 $rootScope 变量。我怎样才能做到这一点?
标签: javascript jquery html angularjs