这是我的controller.js。
var animateApp = angular.module('animateApp');
animateApp.controller('portofolioController', ['$scope', function ($scope) {
$scope.selectedCategory = [];
$scope.categoryList = [{
id: 1,
name: 'webdesign'
}, {
id: 2,
name: 'webdevelop'
}, {
id: 3,
name: 'logo'
}];
$scope.clients = [{
name: '1',
designation: 'descriere',
category: {
id: 1,
name: 'webdesign'
}
}, {
name: '2',
designation: 'descriere',
category: {
id: 2,
name: 'wendevelop'
}
},
{
name: '3',
designation: 'descriere',
category: {
id: 3,
name: 'logo'
}
},
{
name: '4',
designation: 'descriere',
category: {
id: 4,
name: 'webdesign'
}
},
{
name: '5',
designation: 'descriere',
category: {
id: 5,
name: 'webdevelop'
}
}];
$scope.setSelectedClient = function () {
var id = this.category.id;
if (_.contains($scope.selectedCategory, id)) {
$scope.selectedCategory = _.without($scope.selectedCategory, id);
} else {
$scope.selectedCategory.push(id);
}
return false;
};
}]);
这是在我的html文件中,是一个按钮,当按下时,我的列表按类别排序。我在filter.js中有一个过滤器,只显示此类别中的字段。
<li data-ng-repeat="category in categoryList"> <a data-ng-click="setSelectedClient()" class="btn">{{category.name}}</a></li>
点击按钮后,我收到错误。我正在寻找这样的帖子,但我找不到任何东西。
ReferenceError: _ is not defined at h.$scope.setSelectedClient (http://localhost/Portofolio2/js/controllers.js:60:13)
答案 0 :(得分:3)
_.contains
是来自Underscore或Lodash库的方法。
包含该库或使用vanilla JavaScript来复制该功能。
答案 1 :(得分:0)
在$ scope.setSelectedClient函数中,有一个对未声明对象的引用&#39; _&#39;
if (_.contains($scope.selectedCategory, id)) {
检查您是否错过了包含任何lib文件