2014-09-04 51 views
-2

我想要做的是使用角度将每个用户输入转换为标签。我相信我做了正确的事情,但没有成功。如果有人看一下这段代码,我会很感激。谢谢使用angular.js将用户输入转换为标签

这里是一个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

请问你能解释一下吗?即你想将每个转换为标签? – BlaShadow 2014-09-04 16:41:01

+0

我试图做的是,当用户在输入框中键入一个单词并单击添加时,它会将该单词转换为标签。像这样的http://aehlke.github.io/tag-it/ – 2014-09-04 17:07:03

回答

1

你有几件事错在你普拉克,但这里的一些东西开始:

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

  2. 绑定到刚刚使用'newEntry'范围的ng模型。你所输入的只是一个名字,所以你只需要保存在示波器上即可。

  3. 遍历条目,打印出只,而不是 'entry.name'

而且您的控制器 '条目' 应该是这样的(无需回报)

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

看到这个小提琴:

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

+0

抱歉。我尝试你的建议,但仍然无法正常工作。 http://plnkr.co/edit/MNdVk6 – 2014-09-04 17:03:58

+1

编辑我的答案,并附上工作小提琴的链接 – sma 2014-09-04 17:28:50

+0

非常感谢您的帮助... – 2014-09-04 17:49:15

相关问题