自定义模板和ng-单击Angular Formly

时间:2016-04-18 14:55:23

标签: javascript angularjs angular-formly

我使用Angular Formly制作的自定义模板有问题。模板有一个输入文本和两个用于减小和增加此输入的模型值的按钮。问题是向下按钮工作正常并减少模型,但向上按钮不会增加,而是执行$ scope.down()的相同操作。我错了什么?

HTML模板:

  <span class="spinner">
    <button class="button decrease" ng-click="down()"></button>
    <input type="text" ng-model="model[options.key]" name="{{options.key}}" />
    <button class="button increase" ng-click="up()"></button>
  </span>

Formly Field:

item.key = key;
item.type = "my_spinner";
item.defaultValue = item.templateOptions.placeholder;
item.controller = function($scope) {
                        $scope.down = function () {
                          $scope.model[$scope.options.key] = $scope.model[$scope.options.key] - 1;
                        };
                        $scope.up = function () {
                          $scope.model[$scope.options.key] = $scope.model[$scope.options.key] + 1;
                        }
    };
}

更新:JSBin中的代码似乎有效http://jsbin.com/fakunoqeti/edit?html,js,console,output所以它可能是什么问题?我需要一个有角度的专家D:D:

1 个答案:

答案 0 :(得分:0)

为什么你的领域是这样的?这不是合适的技巧。

{
  key: 'myKey',
  type: 'my_spinner',
  defaultValue: 'to.placeholder',
  templateOptions: {
      placeholder: 'myValue'
  },
  controller: function($scope) {
     $scope.down = function () {
       $scope.model[$scope.options.key]--;
     };
     $scope.up = function () {
       $scope.model[$scope.options.key]++;
     };
  }
}

这是我开始的第一个地方......把它放在正确的格式中。

然后,如果这不起作用,我会在ng-click函数中传递$ index属性:ng-click="up($index)"然后将函数更改为$scope.up = function(index) {