Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS ng模型将对象转换为字符串_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS ng模型将对象转换为字符串

Javascript AngularJS ng模型将对象转换为字符串,javascript,angularjs,Javascript,Angularjs,我的HTML文件中包含以下内容: <td style="width: 200px;"> <span ng-repeat="list in listGroups"> <label for="{{ list.description }}" />{{ list.description }}</label> <input ng-model="$parent.listGroup"

我的HTML文件中包含以下内容:

    <td style="width: 200px;">
        <span ng-repeat="list in listGroups">
            <label for="{{ list.description }}" />{{ list.description }}</label>
            <input ng-model="$parent.listGroup" id="listGroup-{{ list.value }}"  name="listGroups" value="{{ list }}" type="radio" />
        </span>
   </td>
单击单选按钮时,列表组(在ng模型中设置)变为,例如:

{"description":"New by Genre","group":"genre","type":"new"}
当我查看类型为$scope.listgroup的列表组时,我发现它现在是一个字符串

因此,我无法在HTML页面其余部分的其他绑定中访问它的属性

在本例中,我希望
ng show=“listGroup.group==”流派“

这里发生了什么,更重要的是,我如何让它做我想让它做的事情,也就是保持对象为对象

谢谢大家


Dave

为什么要将对象作为ng模型?这就是导致listGroup变量变成字符串的原因,因为ng模型只处理字符串。如果您有一个要与ng模型一起使用的复杂对象,那么应该创建一个指令并实现一个解析器和格式化程序,如下所示:

问题在于输入的
属性只接受字符串,而不接受对象(选中)。执行此操作时:
value=“{{list}}”
,基本上就是在执行
input.value=list.toString()


一种可能的解决方法是使用
ng repeat
指令的
$index
。示例:

现在可以使用
ng值

范例


您也可以使用JSON.parse(字符串中的对象),但我想我更喜欢@bmleite解决方案。只是把它扔出去--万一有人有不同的用例

另外,不要使用
$parent.
,它会在将来给您带来问题。
{"description":"New by Genre","group":"genre","type":"new"}