在ng-model中,我想设置我的范围中定义的默认值,但是无法识别该值。
这是我的控制人员:
$scope.defaultRole = "Admin";
我的观点:
<input type="text"
class="form-control" ng-model="user.role='{{defaultRole}}'">
但我在输入文字中输入了 {{defaultRole}} 而不是管理。也许这是一个形成问题,但我不知道如何让它发挥作用。
注意:我可以把ng-model =&#34; user.role =&#39; Admin&#39;&#34;直接,但我想从范围。
感谢您的帮助!
答案 0 :(得分:1)
您不了解ngModel的工作原理。 ngModel需要一个可赋值的角度表达式。表达方式是双向的。这意味着
所以,你需要的只是
<input type="text" class="form-control" ng-model="defaultRole">
这将读取defaultRole变量并使用其值填充该字段,反之亦然。
如果您希望使用输入的值填充user.role
,并且默认情况下字段具有defaultRole值,那么它应该是
<input type="text" class="form-control" ng-model="user.role">
并且控制器应该
$scope.user.role = $scope.defaultRole;
或者,如果用户尚未存在
$scope.user = {
role: $scope.defaultRole
};
将user.role
初始化为默认值。
答案 1 :(得分:0)
您可以使用ng-init
执行此操作。 ng-model
并不假设要处理做作。这将通过角度直接完成。
<input type="text" class="form-control" ng-model="user.role" ng-init="user.role = defaultRole">