Javascript ng选择返回对象而不是字符串中的选项
我正在努力学习角度,我在非常基本的步骤。我已经搜索过了,但是没有找到任何可以帮助我的东西 我对ng选项有问题。当我点击触发Javascript ng选择返回对象而不是字符串中的选项,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,我正在努力学习角度,我在非常基本的步骤。我已经搜索过了,但是没有找到任何可以帮助我的东西 我对ng选项有问题。当我点击触发添加剑(剑)的按钮时,我希望它将$scope.elems.object.name插入{{swarm.elem}},但我收到的是$scope.elems.object。 更好的解释是,剑.elem显示的是{“名称”:“水”,“跳动”:“火”}而不是'Water'。我可以使用剑.elem.elem,但我可以看出这里有问题 奇怪的是:我的选择菜单显示了正确的值 谢谢你的帮助,如果有
添加剑(剑)
的按钮时,我希望它将$scope.elems.object.name
插入{{swarm.elem}}
,但我收到的是$scope.elems.object
。
更好的解释是,剑.elem
显示的是{“名称”:“水”,“跳动”:“火”}
而不是'Water'
。我可以使用剑.elem.elem
,但我可以看出这里有问题
奇怪的是:我的选择菜单显示了正确的值
谢谢你的帮助,如果有关于这个问题的答案,我很抱歉找不到
index.html
<tr ng-repeat="sword in swords">
<td>{{sword.name}}</td>
<td>{{sword.attack}}</td>
<td>{{sword.desc}}</td>
<td>{{sword.elem.name}}</td>
</tr>
...
<select class="form-control" ng-model="sword.elem"
ng-options="elem.name for elem in elems">
<option value="">Selecione uma elem</option>
</select>
<button class="btn btn-primary btn-block" ng-click="addSword(sword)"
ng-disabled="!sword.name || !sword.elem || !sword.attack">Add Sword</button>
据我所知,你想将所选剑添加到你的剑列表中。你需要使用 标记:
<select class="form-control" ng-model="sword"
ng-options="elem as elem.name for elem in elems">
<option value="">Selecione uma elem</option>
</select>
<button class="btn btn-primary btn-block" ng-click="addSword(sword)"
ng-disabled="!sword">Add Sword</button>
乌马埃利姆精选酒店
加剑
看嗯,我试过一些东西。读了这些文件,也弄不明白 我想要的是将ng选项选择传递到ng模型“剑术元素”中。ng选项选择由两个对象提供:
$scope.elems = [
{name: "Fire", beats: "Earth"},
{name: "Water", beats: "Fire"}
];
我希望我的ng model='Swarm.elem'收到$scope.elems.name。
提交我的表单后,将创建以下对象:
{"name":"Stack Question",
"attack":"66",
"desc":"You shall answer this sword.",
"elem": {"name":"Fire","beats":"Earth"}
}
但我试图接受这样的信息:
{"name":"Stack Question",
"attack":"66",
"desc":"You shall answer this sword.",
"elem": "Fire"}
}
我目前的解决方法是打印{{swarm.elem.name}},而不是只打印{{swarm.elem}。这与我使用的代码相同,只是模型是'swarm'而不是'swarm.elem'。有了这个,我将绑定整个表单,只提交select输入。不管怎样,我试过了,但被窃听了。无论如何,谢谢你/@RodrigoSouza仔细看,不一样
elem作为elem.name用于
vs只是elem.name用于
。您可以继续在ng型号中使用swarm.elem
@Claies,谢谢。我的错。我已经更改了那段代码。同样的结果。
{"name":"Stack Question",
"attack":"66",
"desc":"You shall answer this sword.",
"elem": "Fire"}
}