AngularJS字符串拆分问题

时间:2013-10-15 17:06:35

标签: javascript string templates angularjs split

我的数据以下列格式返回

"yes | Yes no | No"

此字符串代表几件事。整体而言,它代表了一系列单选按钮。在|的左侧是单选按钮的实际值。右侧是标签。因此,该字符串代表以下内容:

是(值=是) 否(值=否)

字符串存储在一个巨大的对象深处,因此,我需要能够将各个组件分开并使用它们,同时可靠地保持具有值的模式和第二个标签的模式。关于如何使用angular实现此目的的任何建议?

2 个答案:

答案 0 :(得分:0)

在数据返回的服务中,您需要编写一个函数来解析并组织它。您可以从自定义过滤器中受益,但它在这里确实不适用,因为过滤器更传统上意味着在视图上使用。这不是一个有角度的问题,除非你的问题广泛地在角度应用程序内进行。

答案 1 :(得分:0)

我同意@Fourth。这并不像一个真正的" Angular"问题。它更像是一个javascript问题。无论如何,这是我的单行解决方案(虽然它非常多毛):

var fullString = "yes | Yes no | No";
var parts = fullString.split(/[ |]/).filter(function(str){ return str !== '';});
// parts is now ["yes", "Yes", "no", "No"]

然后您只需使用数组中的值作为单选按钮的标签和值。含义,parts[0]是第一个单选按钮的值,parts[1]是标签。我知道它是一个非常多毛的解决方案,但是无论谁决定将这些单选按钮的值编码成一个用空格和竖条分隔得很差的字符串,他们都应该责备它们。