在初始加载期间遇到 ng 类问题
Having an issue with ng-class during initial load
我手头有一个非常简单的任务。 构建列表,突出显示活动项目。
使用 ng-class 并在范围内设置当前选定的项目适用于单击,但最初不是。
我在这里忽略了什么? 这是数据。
$scope.adminTabs = [{"name": "Agent"},
{"name": "Agent Queue"},
{"name": "Skills"}
]
这是控制器中的单击以及设置初始值:
$scope.adminTabs = adminInfo.adminTabs;
//Default
$scope.activeAdminTab = $scope.adminTabs[0].name;
$scope.loadAdminTab = function(){
$scope.activeAdminTab = this.tab.name;
}
最后,ng-class指令本身在起作用
<ul>
<li data-ng-click="loadAdminTab()"
data-ng-repeat="tab in adminTabs"
data-ng-model = "admin.selectedTab"
data-ng-class="tab.name == activeAdminTab ? 'selected' : '' ">{{tab.name}}</li>
</ul>
问题是,第一项永远不会设置为使用"selected"类,尽管驱动它的作用域变量确实设置正确。
这不是一个答案,所以请不要接受它或投票。只是在这里,因为我创建了一个显示代码工作的代码片段:
angular.module('MyModule', [])
.controller('MyController', function($scope) {
$scope.adminTabs = [{"name": "Agent"},
{"name": "Agent Queue"},
{"name": "Skills"}
];
$scope.activeAdminTab = $scope.adminTabs[0].name;
$scope.loadAdminTab = function(){
$scope.activeAdminTab = this.tab.name;
}
});
.selected {
color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app='MyModule' ng-controller='MyController'>
<ul>
<li data-ng-click="loadAdminTab()"
data-ng-repeat="tab in adminTabs"
data-ng-model = "admin.selectedTab"
data-ng-class="tab.name == activeAdminTab ? 'selected' : '' ">{{tab.name}}</li>
</ul>
</div>
我的猜测是它在 ng 重复中的范围内存在问题。
尝试更改:
$scope.activeAdminTab = $scope.adminTabs[0].name;
和
data-ng-class="tab.name == activeAdminTab..."
自:
$scope.obj = {};
$scope.obj.activeAdminTab = $scope.adminTabs[0].name;
和
data-ng-class="tab.name == obj.activeAdminTab..."
尚未测试,但这是我遇到的一个常见问题,带有角度ng重复范围; 解决方案可能适合您。
相关文章:
- 将PHP变量传递给jQuery时遇到问题
- ng映射方向备选方案
- AngularJS UI路由器不能像ng路由器那样工作
- 我的jQuery插件参数没有正确启动,遇到了问题
- 角度:在ng重复上切换图像
- 正在使用$location.path(.)路由ng视图
- AngularJS:ng之后,重复$scope值未按预期更新
- ng打开空字符串
- 我应该使用Ng提交还是点击表格
- ng init中的表达式无法使用ng repeat
- ng更改事件不适用于Dropdown
- ng视图外的链接重定向到ng视图内的页面
- ng应用程序使脚本无限运行
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 使用 ng 模型获取数据时遇到问题
- 使用ng repeat实现firebaseArray时遇到问题
- 在 ng 单击不部分调用控制器功能时遇到困难
- 在初始加载期间遇到 ng 类问题
- 从ng视图访问$scope时遇到问题
- AngularJs——在使用ng-init时遇到一个问题