Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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
AngularJS-组合表单字段_Angularjs_Time_Angularjs Scope - Fatal编程技术网

AngularJS-组合表单字段

AngularJS-组合表单字段,angularjs,time,angularjs-scope,Angularjs,Time,Angularjs Scope,我试图创建一个动态表单,在这里我可以输入hh:mm:ss格式的持续时间 我想将该值存储为秒 我看不到允许持续时间样式时间(仅日期)的角度输入类型,因此我选择使用固定日期并仅从该日期提取以秒为单位的时间,或者使用3个单独的数字字段(hh、mm、ss)并具有包含转换秒数的隐藏字段 有什么简单的方法可以实现第二种方法吗?在我提交表单时,我无法理解必须创建第二个作用域来存储这些临时值,或者从作用域中清除它们。您需要为自定义字段创建一个验证程序和过滤器。对此只能有一个输入。验证器将检查输入的值是否为{0-

我试图创建一个动态表单,在这里我可以输入hh:mm:ss格式的持续时间

我想将该值存储为秒

我看不到允许持续时间样式时间(仅日期)的角度输入类型,因此我选择使用固定日期并仅从该日期提取以秒为单位的时间,或者使用3个单独的数字字段(hh、mm、ss)并具有包含转换秒数的隐藏字段


有什么简单的方法可以实现第二种方法吗?在我提交表单时,我无法理解必须创建第二个作用域来存储这些临时值,或者从作用域中清除它们。

您需要为自定义字段创建一个验证程序和过滤器。对此只能有一个输入。验证器将检查输入的值是否为{0-24}:{0-60}:{0-60}格式,并在模型中存储秒数。过滤器会将秒数转换为您所需的格式。您还可以添加一个格式占位符,或者更好的是一个格式化程序,它将帮助用户编写输入(添加:自动)。如果您需要任何其他计算或变量,最好使用隔离作用域,但在本例中,我认为没有必要这样做。

如另一个答案中所示,您可以使用ng pattern指令,将{0-24}:{0-60}:{0-60}作为regex

然后对该字段使用过滤器或自定义方法,可以在更改时提取这三个值