无法创建属性'选择'在字符串'信息技术'angularjs

Cannot create property 'selected' on string 'Information Technology' angularjs

本文关键字:字符串 信息技术 angularjs 选择 创建 属性      更新时间:2023-09-26

这是我的控制器

 $scope.subjects = ["Computer Security", "Graphics and Multimedia", "Networks", "Computer Science and Engineering", "Game Design", "Programming", "Information Technology", "Software Engineering", "Technology Management", "Telecommunications", "Web Development", "Sociology", "Psychology", "General", "Social Work", "Criminal Justice", "Law and Paralegal", "Public Safety", "Forensic Sciences", "Counseling", "Homeland Security", "Political Science", "Public Administration"];

这是我绑定数据的视图

 <label class="concentration-label3" ng-repeat="value in subjects">
        <input ng-model="value.selected" ng-disabled="subjectCheckedCount == subjectLimit && !value.selected" type="checkbox" name="concentrations" class="concentration-label3__input js-concentration-value" value="{{value}}" data-mixpanel-subject="Design" >
        <span class="concentration-label3__title" for="conc1">
            {{value}}
            <span class="concentration-label3__title__checkmark4"></span>
        </span>
 </label>

它给了我一个错误,"无法将选定的属性绑定到字符串"xyz'请帮忙!!!

subjects是一个字符串数组,它没有您试图绑定到输入的属性selected

for(var j = 0; j < $scope.subjects.length; j++){
    $scope.subjectsArray.push({
        'name':  $scope.subjects[j],
        'value': $scope.subjects[j]
    });   
}

为了创建的任何属性,我们必须提供ng个repeat对象稍后再处理该对象。我们无法创建字符串的属性。所以我将字符串数组转换为对象数组。