1

次の短い入力フォームがあるとします。

<form ng-controller="parentController" action="testing.php" method="post">
    <input name="parentInputField" ng-model="x">
    <div ng-controller="childController">
        <div ng-repeat="item in itemList">
            <input name="childInputField[]" ng-model="x">
        </div>
    </div>
</form>

すでにご存じかもしれませんが、childController のモデル x は、ユーザーが childController 入力フィールドに何かを入力するまで、parentController のモデル x の値に従います。そのため、ユーザーは単純に親の値を変更して一括入力し、微調整することができます。子供で。

ここで、ユーザーがフォームを送信した後、編集機能のために同じフォームを呼び出したいと思います。新しいアイテムで一括入力機能を維持するには、前の値がある場合にのみ childController でモデル x を ng-init できる方法はありますか?

4

1 に答える 1

1

試したことはありませんが、次の方法で達成できると思います:

<div ng-init="ctrl.value && (ctrl.value=1)">

ただし、アドバイスが必要な場合は、このような ng-init とネスト コントローラーの両方を避けてください。このプログラムを維持するのは面倒です。controllerAs構文 ( https://docs.angularjs.org/api/ng/directive/ngController )を使用し、コントローラー/サービスに init ロジックを配置することをお勧めします。

于 2015-04-17T03:22:12.500 に答える