0

对于表述不当的问题,我感到非常沮丧并提前道歉。

我为简单的列表编辑创建了衍生词:

angular.module('myApp').
    directive('variableList', function () {
        return {
            restrict: 'AE',
            templateUrl: 'variableList.html',
            replace: true,
            scope: {
                value: '='
            },
            controller: [
                '$scope', '$element', '$attrs', '$transclude',
                function($scope) {
                    $scope.removeListItem = function (index) {
                        $scope.value.splice(index, 1);
                    };
                    $scope.addListItem = function () {
                        $scope.value.push($scope.nextListItem);
                        $scope.nextListItem = null;
                    };
                }
            ]
        };
    });

和模板

<div class="variable-list">
    <div class="variable-list-items">
        <div class="row collapse variable-list-item" ng-repeat="(index, val) in value">
            <div class="small-11 columns variable-list-item-value">
                <input type="text" ng-model="val" />
            </div>
            <div class="small-1 columns">
                <button class="button alert prefix no-margin icon-minus"
                        ng-click="removeListItem(index)"></button>
            </div>
        </div>
    </div>
    <div class="row collapse variable-list-controls">
        <div class="small-11 columns">
            <input type="text" ng-model="nextListItem" />
        </div>
        <div class="small-1 columns">
            <button ng-class="{disabled: !nextListItem}"
                    ng-click="addListItem()"
                    class="button success prefix no-margin icon-plus"></button>
        </div>
    </div>
</div>

模板的重要部分 if

<input type="text" ng-model="val" />

最后我有相当工作的用户界面 在此处输入图像描述

但是现有项目的输入不起作用!当我尝试编辑它们时没有任何反应。新项目的输入、添加和删除按钮按预期工作。

有任何想法吗?

编辑 我试图像这样绑定模型

<input type="text" ng-model="value[key]" />

我能够编辑输入,但在第一次按键输入失去焦点后,它引起了更多的魔力。

4

1 回答 1

0

在这里找到答案https://github.com/angular/angular.js/issues/1267

基本上你必须有一个 . 在 ng-model 或反向数据绑定中不适用于原语。

于 2013-07-24T23:07:12.990 回答