使用angular.js将用户输入转换为标签

时间:2014-09-04 16:34:54

标签: angularjs

我想做的是使用angular将每个用户输入转换为标签。我相信我做的是正确的,但是没有用。如果有人看一下这段代码,我将不胜感激。谢谢

这是一个plunker

 <div class="row" ng-controller="tagForm">
  <div ng-click="addEntry()">
    <div class="col-xs-12 col-sm-12 col-md-10 ">
      <input type="text" placeholder="What are your area of expertise" ng-model="newEntry.name" class="form-control border" />
    </div>
    <div class="col-xs-12 col-md-2 center form-button">
      <input type="button" value="Add" class="btn btn-orange btn-add" />
    </div>
    <div class="col-md-8 col-sm-offset-2" id="up">
      <br />
      <span class="label label-primary" ng-repeat="entry in entries">{{entry.name}}</span>
    </div>
  </div>
</div>

app.controller('tagForm', ['$scope', function($scope) {
    return $scope.addEntry = function() {
    $scope.entries.push($scope.newEntry);
    return $scope.newEntry = {};
};
}]);

1 个答案:

答案 0 :(得分:1)

你的Plunk中有一些问题,但这里有一些东西可以开始:

  1. 您需要在“添加”按钮上连接点击事件。现在,当你点击它时它没有做任何事情

  2. 仅使用&#39; newEntry&#39;绑定到示波器上的ng-model。您只需键入一个名称,这样您就可以节省范围。

  3. 循环输入条目,打印出来的条目&#39;而不是&#39; entry.name&#39;

  4. 你的控制器应该是这样的(不需要返回)

    app.controller('tagForm', ['$scope', function($scope) {
        $scope.entries = [];
        $scope.addEntry = function() {
            $scope.entries.push($scope.newEntry);
        };
    }]);
    

    看到这个小提琴:

    http://jsfiddle.net/smaye81/anrv2qms/1/