В коде запуска для рамок MEAN есть строка кода показано ниже, что делает «!! ~ this.roles.indexOf („*“)» означает в рамках MEAN.io
if (!!~this.roles.indexOf('*')) {
Он расположен в файле public/modules/core/services/menus.client.service.js в функции shouldRender.
var shouldRender = function(user) {
if (user) {
if (!!~this.roles.indexOf('*')) { //Here is the code
return true;
} else {
for (var userRoleIndex in user.roles) {
for (var roleIndex in this.roles) {
if (this.roles[roleIndex] === user.roles[userRoleIndex]) {
return true;
}
}
}
}
} else {
return this.isPublic;
}
return false;
};
Они должны были использовать 'this.roles.indexOf ('*')> - 1 ', который имеет то же самое количество символов, но яснее. Или '~ this.roles.indexOf ('*')', что короче. – Oriol
Да, вообще нет необходимости конвертировать значение в логическое, поскольку любое значение оценивается по истине –
oh whoops, sorry – abcf