在 Angular 中设置单选按钮默认值 - 类型错误:无法读取未定义的属性“x”



我有一个单选按钮组,我试图将其设置为默认值 2,但我得到:

类型错误: 无法读取未定义的属性"评级无线电">

这是我的代码:

<div class="form-group" ng-controller="RadioController"> 
    <label for="commentstarrating" class="col-xs-12 col-sm-2 control-label">Rating</label>
    <div class="col-sm-10">
        <div class="radio-inline">
            <label><input type="radio" name="ratingradio" value="1" ng-model="feedback.ratingradio">1</label>
    </div>
        <div class="radio-inline">
           <label><input type="radio" name="ratingradio" value="2" ng-model="feedback.ratingradio">2</label>
        </div>
    </div>
</div>

和一些JavaScript在一个单独的文件中

.controller('DishCommentController', ['$scope', function($scope) {
            $scope.feedback.ratingradio=2;
            console.log($scope.feedback.ratingradio);
 //redacted the function for brevity

错误在

        $scope.feedback.ratingradio=2;

控制台显示相同

        console.log($scope.feedback.ratingradio);

我无法理解,因为如果我选择一个值然后提交我的表单,则单选按钮值应分配给我将发送到服务器的 JSON 对象。当然,一旦我得到这个修复!

更改

$scope.feedback.ratingradio=2;

$scope.feedback = {
  ratingradio:2
};
我认为

你不能在你的角度中定义$scope.feedback.ratingradio=2。你能定义$scope.feedback=2吗?那会起作用。显然你需要ng-model="feedback"

这里首先是html和Java脚本中使用的控制器是不同的。第二件事是ng-model,你对两个不同的字段使用相同的名称。

供您参考 :

控制器在 Angular 中的作用是通过$scope将数据暴露给我们的视图,并向包含业务逻辑的$scope添加函数以增强视图行为。

此外,使用 ng-model 指令,您可以将输入字段的值绑定到 AngularJS 中创建的变量。

参考链接 : https://docs.angularjs.org/guide/controller

相关内容

  • 没有找到相关文章

最新更新