0
所以我有这个允许多选的下拉菜单。我正在使用ng-model,ng-options和ng-change子句。出于某种原因,我无法弄清楚如何防止将对象推入已存在的模型中。所以我试图制作第二个临时阵列,将它们推入,然后删除任何重复项,但我也无法使其工作。让我用我的代码解释。我的ng-model允许重复我不想要的
实例对象被推入选择对象:
[{
\t \t userProfileID: "3f8c553c-3633-4fe9-a007-4346a783450c",
\t \t firstName: 'Austin',
\t \t lastName: 'Hunter',
\t \t email: 'ahunteroutlook.com',
\t \t password: 'admin',
\t \t companyProfileID: "86660a5b-7f61-4238-889d-1cc3087947b9",
\t \t accessLevel: 'admin'
},
{
\t \t userProfileID: "bc579485-95a7-4e8d-bdde-52272923576e",
\t \t firstName: 'Ashley',
\t \t lastName: 'Jeanette',
\t \t email: 'ashleygmail.com',
\t \t password: 'admin',
\t \t companyProfileID: "86660a5b-7f61-4238-889d-1cc3087947b9",
\t \t accessLevel: ''
}]
所以,很显然,当我想重复检查,我可以检查的userProfileID的倍数。我有那么多..
NG-切换功能:
$scope.changedDepartment = function(item) {
$scope.selectUser = [];
\t $scope.users = [];
\t $scope.tempUsers.length = 0;
\t if ($scope.department.length > 0) {
\t if (item[0].DepartmentUsers.length > 0) {
\t \t $scope.users.length = 0;
\t \t for (var i = 0; i < item.length; i++) {
\t \t for (var j = 0; j < item[i].DepartmentUsers.length; j++) {
\t \t if (profile[0].userProfileID != item[i].DepartmentUsers[j].userProfileID) {
$scope.tempUsers.push(item[i].DepartmentUsers[j]);
\t \t }
\t \t }
\t \t }
(抱歉格式,复制和粘贴代码,它完全符合我的压痕搞砸)
所以这里发生了什么: 该函数看到我们点击了选择框中的某个东西,并将它传递给它。然后,它为它内部的任何用户搜索该项目,并将它们推入$ scope.tempUsers中。我需要用户在$ scope.users中。所以我的计划是通过$ scope.tempUsers并删除任何重复,但我不知道如何。任何帮助,将不胜感激。