我有一个AngularJS的MVC项目。在我的控制器中,如果用户是管理员,我希望$scope.userRole
显示字符串Admin
。我尝试使用ng-bind
解决此问题,但在undefined
$scope.data.admin
返回if-statement
@if (User.IsInRole("Admin")
{
<div ng-Controller="ctrl" ng-bind="data.admin" >
@Html.Partial("AdminPartial")
</div
}
我的AngularJS:
$scope.userRole = "";
$scope.data = {};
if ($scope.data.admin != null && $scope.data.admin != "") {
$scope.userRole = "Admin";
} else {
$scope.userRole = "User";
}
$scope.data.admin
未定义,我不知道为什么。我应该补充一点,我对AngularJS
答案 0 :(得分:0)
您无法将term_list
绑定到ng-model
。请改用div
ng-bind
答案 1 :(得分:0)
ngModel
基本上可以与input
,select
和textarea
绑定,请参阅ngModel
答案 2 :(得分:0)
您在div上使用ng-model
是不可能的。如果您想要双向绑定,则应使用input
或textarea
或checkbox
或......用户可以互动的内容。
在您的情况下,您似乎正在寻找单向绑定(仅显示变量的值),那么您应该使用{{variable}}
或ng-bind
@if (User.IsInRole("Admin")
{
<div ng-Controller="ctrl" ng-bind="data.admin" >
@Html.Partial("AdminPartial")
</div
}
或者您要显示div
用户是管理员..那么您应该使用ng-if
@if (User.IsInRole("Admin")
{
<div ng-Controller="ctrl" ng-if="data.admin" >
@Html.Partial("AdminPartial")
</div
}