我有一个模型,它可以采用以下两种形式之一:
{
"x-position" : "center"
}
或
{
"x-position" : 20
}
注意在第一个例子中,x-position是一个字符串,而在第二个例子中,它是一个整数。这些值绑定到text类型的HTML输入。我无法使用" number"类型的输入因为如果它试图解释" center"那就会出错。因此,我必须使用文字。
如果我们看第二个例子,如果用户将值更改为25,因为输入的html元素是text类型,我的模型现在是:
{
"x-position" : "25"
}
问题是文本输入现在已经将模型中x位置的值类型从整数更改为字符串(20到" 25"),这是不合需要的。这是因为我强迫将输入类型设置为" text",即使我想同时允许文本和数字,这是不可能的。我不介意只接受字符串,只要我能够以某种方式操纵字符串并将其转换为数字,然后再将其传回我的模型。
我是否可以在视图和模型之间添加一个额外的逻辑层,这样如果用户输入一个值" 25px",我就可以去掉" px&# 34;,然后是parseInt(" 25"),然后将这个值作为整数传递给我的模型...... Angular中存在这样的事情吗?
我尝试过的一种方法是在x坐标上设置$ watch,并在值通过用户输入更改时添加一些逻辑。这适用于小规模的可预测数据。然而,问题在于我的模型是动态的,不断变化的,它可能有数百个" x-position"我必须要看。将手表添加到如此大量的动态数据对我来说似乎是不可行的......除非我弄错了。
由于