簡體   English   中英

在angular 1.2中的ngmodel中使用表達式

[英]Using expression in ngmodel in angular 1.2

我試圖根據某些條件顯示已選中或未選中的復選框。 例如:

$scope.userRoles = {"grants" : [ 
    "Permission", 
    "View", 
    "Update", 
    "Delete"
]}

在HTML部分,我添加了以下代碼:

<div ng-repeat="p in userRoles">
   <input type="checkbox" ng-model="p.grants.indexOf('Delete') != -1?true:false"  ng-change="AddRemovePermission(p,'Delete')" />
</div>

如果我使用ng-checked而不是ng-model,它將可以正常工作,但是我不會獲得2種方式的綁定。 我也知道我們不能在ng-model中使用上述表達式。 任何人都可以幫助如何做到這一點。 唯一的條件是,如果用戶具有授予權限,則應選中該復選框,否則不選中該復選框;單擊復選框時,應將其相應地更改為選中或取消選中,並添加到userRoles對象中。 也不能使用指令。

謝謝。

問題是您的模型。 您必須將布爾值發送到后端,這可以是一種解決方案:

鑒於:

<div ng-repeat="role in userRoles.grants">
  <input type="checkbox" ng-model="role.checked" />
</div>

並在控制器中:

$scope.userRoles = {"grants" : [ 
    {"permission": "Permission", checked: true }, 
    {"permission": "View", checked: false }, 
    {"permission": "Update", checked: true }, 
    {"permission": "Delete", checked: true }
]} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM