sql >> Databáze >  >> NoSQL >> MongoDB

jak přidat ng-model do dynamicky vytvářených vstupních textových polí

Problém je v tom, že vaše dynamicky přidaná vstupní pole nemají událost kliknutí, když je přidáte pomocí jQuery. Přidání ng-click není dost. Museli byste použít $compile nechat úhlovou analýzu tohoto prvku.

Mnohem chytřejší způsob je však nepoužívat jQuery vůbec a nechat pole generovat sám angular pomocí ng-repeat .

angular
  .module('app', [])
  .controller('dynamicFieldsController', dynamicFieldsController);

dynamicFieldsController.$inject = ['$scope'];

function dynamicFieldsController($scope){
  var vm = this;
  vm.numOfFields = 0;
  vm.fields = [];
  vm.add = function() {
    for (var i = 0; i < vm.numOfFields; i++) {
        var index = vm.fields.length;
        vm.fields.push(index);
    }
  }
}
input{
  display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app='app' ng-controller='dynamicFieldsController as vm'>
  <input placeholder='num of fields' ng-model='vm.numOfFields'>
  <button ng-click='vm.add()'>add</button>
  <input type='text' ng-repeat='field in vm.fields' value='{{ field }}'>
</div>

V tomto příkladu můžete přidat libovolný počet prvků a svázat ng-click události k nim. Budou fungovat po vybalení z krabice, protože analyzovány s úhlovým. Vaše addValues funkce nyní jednoduše musí používat vm.fields skutečně přidat hodnoty do databáze.



  1. Dotaz na podpole v documentdb

  2. MongoDB vyberte hodnotu pole all where v seznamu dotazů

  3. Jak můžeme zadat dotaz na vložené dokumenty prostřednictvím ovladače java?

  4. Chyba:Nelze se připojit k žádnému serveru v clusteru MongoDB Atlas