Search code examples
javascriptangularjsangularjs-ng-repeatng-tags-input

ng-tags-input with dynamic model


how can i use ng-tags-input inside a ng-repeat loop, when each element has different tags? How can i set the ng-model dynamically?

    <div ng-controller="myController">
        <ul>
            <li ng-repeat="file in files">
                {{file}} <tags-input ng-model="tags"></tags-input>
            </li>
        </ul>
    </div>

    app.controller('myController', function ($scope) {
        $scope.tags =  ['tagA','tagB'];

        // $scope.tags['file1'] =  ['tagA','tagB'];
        // $scope.tags['file2'] =  ['tagC','tagD'];
    });

Thanks in advance!


Solution

  • I have the same solution as Claies suggested but I tried my self. Please check working example : http://plnkr.co/edit/bNQ6DrUlNWdEAi8fnvBr?p=preview

    HTML

    <ul>
      <li ng-repeat="file in files">
          {{file.name}}
          <tags-input ng-model="file.tags"></tags-input>
        </li>
    </ul>
    

    Controller

    var app = angular.module('plunker', ['ngTagsInput']);
    
    app.controller('MainCtrl', function($scope, $http) {
      $scope.files = [
        {
          name : 'file1','tags': [{text: 'tagA'},{text: 'tagB'}]  
        },
        {
          name : 'file2','tags': [{text: 'tagC'},{text: 'tagD'}]  
        }  
      ];
    });