我正在尝试使用页面中描述的方法在angularjs app中实现http://timschlechter.github.io/bootstrap-tagsinput/examples/ jquery插件。
我已经包含了这两个文件:
<script type="text/javascript" src="/viktor/public/js/tagsinput.js"></script>
<script type="text/javascript" src="/viktor/public/js/ng-tagsinput.js"></script> // I have renamed those files.
在我的app mudule load中添加了以下内容:
angular.module('app', ['ngTouch', 'bootstrap-tagsinput'])
最后添加了示例中定义的指令:
<input type="text" class="form-control" bootstrap-tagsinput>
但是我收到以下错误:
错误:[$ compile:nonassign] http://errors.angularjs.org/1.2.2/ $ compile / nonassign?p0 = undefined&amp; p1 = bootstrapTagsinput 在错误() 在http://code.angularjs.org/1.2.2/angular.min.js:6:449 在k(http://code.angularjs.org/1.2.2/angular.min.js:48:254) 在对象。 (http://code.angularjs.org/1.2.2/angular.min.js:48:353) at g。$ digest(http://code.angularjs.org/1.2.2/angular.min.js:99:14) at g。$ apply(http://code.angularjs.org/1.2.2/angular.min.js:101:369) at g(http://code.angularjs.org/1.2.2/angular.min.js:67:241) 在w(http://code.angularjs.org/1.2.2/angular.min.js:71:181) 在XMLHttpRequest.H.onreadystatechange(http://code.angularjs.org/1.2.2/angular.min.js:72:222)angular.js:9159 TypeError:无法调用undefined的方法'filter' at Object.fn(tagsinput.js:68:35) at g。$ digest(http://code.angularjs.org/1.2.2/angular.min.js:99:141) at g。$ apply(http://code.angularjs.org/1.2.2/angular.min.js:101:369) at g(http://code.angularjs.org/1.2.2/angular.min.js:67:241) 在w(http://code.angularjs.org/1.2.2/angular.min.js:71:181) 在XMLHttpRequest.H.onreadystatechange(http://code.angularjs.org/1.2.2/angular.min.js:72:222)
似乎在这一行
var added = scope.model.filter(function(i) {return prev.indexOf(i) === -1;}), there is no method filter.
有人有同样的问题吗?
答案 0 :(得分:2)
有一个代码如何在页面上使用它。
<bootstrap-tagsinput
ng-model="cities"
typeahead-source="queryCities"
tagclass="getTagClass"
itemvalue="value"
itemtext="text">
</bootstrap-tagsinput>
<script>
angular.module('AngularExample', ['bootstrap-tagsinput'])
.controller('CityTagsInputController',
function CityTagsInputController($scope) {
// Init with some cities
$scope.cities = [
{ "value": 1, "text": "Amsterdam", "continent": "Europe" },
{ "value": 4, "text": "Washington", "continent": "America" },
{ "value": 7, "text": "Sydney", "continent": "Australia" },
{ "value": 10, "text": "Beijing", "continent": "Asia" },
{ "value": 13, "text": "Cairo", "continent": "Africa" }
];
$scope.queryCities = function (query) {
return $http.get('cities.json');
};
$scope.getTagClass = function (city) {
switch (city.continent) {
case 'Europe': return 'badge badge-info';
case 'America': return 'label label-important';
case 'Australia': return 'badge badge-success';
case 'Africa': return 'label label-inverse';
case 'Asia': return 'badge badge-warning';
}
};
}
);
</script>