[英]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.