Javascript 在ng选项中避免循环链接

Javascript 在ng选项中避免循环链接,javascript,angularjs,Javascript,Angularjs,我对AngularJS很陌生。我的模型如下:- class Role { String id; String role_name; Role parentid; // Parent of role } 我希望避免循环链接,因为NewRole1是其自身的父级和子级,只有parentid==null将启用和保留的角色将处于禁用状态 我已经写了下面的代码,但它不能正常工作 <input type="text" class="form-control" name="role_nam

我对AngularJS很陌生。我的模型如下:-

class Role {
  String id;
  String role_name;
  Role parentid;  // Parent of role
}
我希望避免循环链接,因为
NewRole1
是其自身的父级和子级,只有
parentid==null
将启用和保留的角色将处于禁用状态

我已经写了下面的代码,但它不能正常工作

<input type="text" class="form-control" name="role_name" id="field_role_name" 
       ng-model="role.role_name" ng-model="testname" 
       required ng-maxlength="45">

<select class="form-control" id="field_role_r_name" name="role_r_name" 
       ng-model="role.parentid"
       ng-options="role1 as role1.role_name disable when (role1.role_name==role.role_name || role1.parentid.id!=null) for role1 in roles track by role1.id">
   <option value=""></option>
</select> 

它停止
NewRole1
成为自己的父对象,但我的
role1.parentid.id=当条件不能正常工作时,为空。我想禁用所有具有parentid的角色。

有人能告诉我上面有什么问题吗

为什么要在模板中执行这种复杂的逻辑?你能过滤控制器中的角色并简单地在模板中显示它吗?好的,我会尝试这样做,并会更新你,但我想用disable在下拉列表中显示详细信息。