如何在angular.js应用程序中更好地使用ng-repeat和指令?

时间:2015-02-17 17:25:47

标签: javascript angularjs dom angularjs-directive angularjs-ng-repeat

我的第一个angular.js项目遇到了一些问题,它工作得非常好,但是我必须逐个输入我的所有值,这非常耗时且不好代码练习,但在明亮的一面已经钻了一些基本的角度到我的头。我已经尝试了几天将我的html代码放入指令或使用ng-repeat来尝试显示特定类型的测量并计算出方程式,而没有非常长的指令充满if语句。我确定这是一个解决方法,我只需要一些指导来找到它。非常感谢您的帮助,项目链接可以在下面找到,请注意当时或写下我没有输入质量计算。

Codepen Measurement Calculator Project

下面是我的重复代码的一小部分,我想以某种方式缩短......

      <input type="text"  ng-model="MetersS" ng-keyup="Speed.Convert('MetersS',MetersS)">
      <label>{{type.measurement[2].in[3]}}</label>
      <input type="text"  ng-model="Kmh" ng-keyup="Speed.Convert('Kmh',Kmh)">
      <label>{{type.measurement[2].in[4]}}</label>
      <input type="text"  ng-model="Knot" ng-keyup="Speed.Convert('Knot',Knot)">

此致

亚当

1 个答案:

答案 0 :(得分:0)

这应该让你开始。当然有许多不同的方法来设置,但这应该给你的想法。 在您的应用中,您可以设置一些对象:

  $scope.thevals = ['meters','kms'];

  $scope.values = {
    meters:{value:undefined,conv:'meters'},
    kms:{value:undefined,conv:'km'}

  };

然后像这样重复使用它:

  <div ng-repeat="obj in thevals">
    {{obj}}
    <input type="text"  ng-model="values[obj].value" ng-keyup="Speed.Convert(values[obj].conv)">
  </div>