正在评估AngularJS ng-show指令中的表达式
Evaluating an expression in AngularJS ng-show directive
背景:作为我正在进行的项目的一部分,用户(在下面的案例中称为"艺术家")可以从一系列角色中选择一个或多个:经理、制片人、代理等等。因此,我需要根据用户选择的角色来显示或隐藏页面的某些部分。
示例:当用户选择"Manager"作为他/她的角色之一时,我尝试使用以下内容来有条件地显示div(当未选中"Manager"时将其隐藏),但没有成功。我应该在ng-show指令中使用什么?
<div class="manager_section" ng-show="data.artist.roles.name == 'Manager'">Sample Text Here</div>
请注意:div看起来很好,没有应用ng-show/ng-hide指令,所以我不想找CSS答案或任何东西;我只是在寻找ng show/ng hide提供的条件方面。我知道角色的数据正在被拉到页面上,因为当我在页面上运行以下程序进行测试时,用户选择的每个角色的名称都会准确显示:
<div ng-repeat="role in data.artist.roles">{{ role.name }}</div>
如果需要运行任意JavaScript代码,可以使用控制器方法。
例如:
<div class="manager_section" ng-show="isAuthorized('Manager')">Sample Text Here</div>
angular.module('myApp', [])
.controller('AppCtrl',function(){
$scope.isAuthorized = function(role){
for(var i=0;i<$scope.data.artist.roles.length;i++){
if($scope.data.artist.roles[i].name === role) return true;
}
return false;
}
};
相关文章:
- 错误:[$compile:nonassign]表达式'未定义'与指令'内容可编辑'是不可
- AngularJS:带有HTML和angular表达式的指令;编译”;具有外部范围的内容
- Angular Filter在指令表达式中不起作用
- 错误:与指令一起使用的表达式“未定义”不可赋值
- 在指令中从 attr 的角度保存手表表达式
- AngularJS观察指令属性表达式,动态继承作用域
- 是否可以在自定义指令中使用理解表达式
- Angularjs:使用angular指令修改angular表达式提供的内部html内容
- 角度:如何通过 id 和指令中的表达式获取元素
- 正则表达式在指令中替换为 html 标记
- 在 AngularJS 中计算指令属性中的表达式
- 如何在子指令中计算 Angular 表达式并将其公开在父指令上
- ng-intro 表达式 'undefined' 与指令 'ngIntroOptions'
- 正在评估AngularJS ng-show指令中的表达式
- 选择指令的角度表达式
- 如何将正则表达式从指令传递到输入AngularJs
- 通过指令表达式继承方法
- 计算传递给Angular指令的对象中的字符串表达式
- 在Angular 1.4.5中,在ng repeat中使用$parse指令计算表达式
- 错误:[$compile:nonassign]表达式'未定义'与指令'myFacebook