我使用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:
答案 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) {