我完全沉迷于这一个。一切工作正常(或现在足够好),我需要的是将数据以非json格式返回工厂。我有一个semi-working plunker的所有细节。从angularjs工厂检索对象属性
基本上,第一页(在Ctrl控制器下)是用户可以检查一堆盒子的地方。在选项集之间还有一个ng-switch(真正的东西比这些要多很多,所以listboxFactory保留了用户的选择)。当用户转到下一个页面(或者因为伪造它而在蹲点中的“下一页”)时,他们可以看到他们选择了什么。然后这些选择会被包装在一个json的帖子中回到服务器。我需要显示用户友好的名称,但也有服务器选择的ID#。
如果我把value =“{{item.name}}”放在原来的复选框ng-repeat中,一切都很好。除了这个事实,我有一个工厂的名称,而不是服务器所需的ID。在工厂做第二个数组(一个用于选定的名称,一个用于相应的选定ID)看起来像是矫枉过正,理论上我可以将每个选择作为一个对象添加,然后在第二个页面上根据需要提取属性。
实际上,这不起作用。下面是我得到的,如果我附和工厂,做出选择后:
[ "{\"id\":1,\"name\":\"Firstplace\"}", "{\"id\":2,\"name\":\"Second place\"}" ]
...我不知道,但那些反斜杠似乎是把每一种选择转换为字符串,因为有只引号内方括号。我试过在脚本中编辑第54行,但我得到错误。它不是这样的:
if (checked && index == -1) {
if (setup) elem.prop('checked', false);
else scope.list.push({
id:"scope.value.id",
name:"scope.value.name"
});
在html方面,它不喜欢我在ng-repeat中尝试过的任何变体。似乎所有恶梦的根源在于推动创造变形的json。我已经尝试了所有这些第二页/输出:
{{item}}
{{item.name}}
{{item.item.name}}
的作品是{{项目}}和勿庸置疑这是很丑陋的唯一的一个。有没有人遇到过这个,并有任何提示如何解决这个问题?提前谢谢了。
我不知道是否在手舞足蹈,这是这么容易,或者因为完全忽略@细节而惭愧。非常感谢! – kl02