我是Angular的新手,我正在尝试(出于培训目的)编写转换器。
我要做的是像Google搜索页面上的转换结果:https://www.google.com/search?q=1km+to+meter
基本上,它是两个输入绑定在一起并在变化时进行转换。当您更新meter
输入时,它会更新kilometer
输入,反之亦然。
目前,我已经使用了一个过滤器来进行转换(因为我觉得这个工作很酷)。您可以在此处找到实时示例:http://jsfiddle.net/FMXhJ/1/
你可以看到米到公里工作得很好,但我看不出我怎么能这样做。所以它似乎不是解决问题的解决方案。
我希望你的帮助能够知道做到这一点的最佳解决方案。
控制器上的两个输入的$watch
是一个很好的方法吗?
答案 0 :(得分:4)
您可以使用两个模型并在ngChange
事件中相互更新:
或者您确实可以使用观察者:
现在,您可以通过使用通用转换方法和不同单位数组{name: 'km', ratio: '0.001'}
来更好地构建数据,因此将值转换为另一个只是乘以适当的比率。