Jugger
bower install wiz-form
Jugger
после этого такую ошибку выдает
Jugger
как выйти из положение без бовера
🎋🎋🥷 ngSamurai
🎋🎋🥷 ngSamurai
Денис
Привет! Сортирую ng-repeat таблицу с orderBy по имени
Проблема:
В имени содержатся числа типа test1, test15, test29 и т.п.
Сортируется примерно так:
test19
test20
test8
test9
Подскажите, как допилить фильтр, чтобы было
test8
test9
test19
test20
Mikalai
https://docs.angularjs.org/api/ng/filter/orderBy
четвертым параметом можно передать кастомную функцию, которая будет сравнивать значения
Mikalai
Но лучше перед тем как отрисовать данные в шаблоне, проходиться по каждому элементу и распарсить test20 и на основе цифры добавлять поле order. И уже на в шаблоне сортировать по этому полю.
И если данные не меняются часто, то я бы предпочел сортировку данных в контроллере ($filter("orderBy")) и в шаблоне уже использовать ng-repeat без orderBy.
Natali
всем дратути. Вопрос. Есть какая нибудь переменная в контроллере, var $scope.everything = { v1 = "text1", v2="text2", ... }
а в верстке все-все значения переменных v1...vn отображаются {{vi}} как текст. Если значение переменной будет null, на месте значения отобразится пустота. Я хочу чтобы if (vi == null) display "N\A".
Можно ли автоматом применять это ко всем значениям без ручного прописывания в верстке для каждого поля?
Mikalai
Привет.
Если я правильно понял проблему, то тебе нужно использовать фильтра - https://docs.angularjs.org/tutorial/step_11
angular.
module('core').
filter('checkNull', function() {
return function(input) {
return input === null ? 'N/A' : input;
};
});
И потом в шаблоне использовать его для значений где нужна проверка.
Value or N/A: {{ ti | checkNull }}
Natali
Lodo4kin
привет подскажите как запрертить роутинги в ангуляре через браузер
Lodo4kin
?ъ
Дмитрий
Ребят, кто подскажет как реализовать вот такую штуку :
если в одно текстовое поле введен текст, то другое становится disabled и наоборот ?
Nikolai
ng-disabled="!!othervalue"
Максим
Nikolai
тут ничего
Дмитрий
спасибо большое всем
Jugger
Здравствуйте! помогите пожалуйста!
как сохранить $index массива при использование groupBy в ng-repeat
YVEF
всем привет. подскажите пожалуйста. никак не получается роутинг заставить работать. ангуляр 1,7,8 angular.module('mainApp', ['ngRoute'])
.config(function($routeProvider){
$routeProvider.when('/', {
template: "<p>some temp</p>"
});
});
Mikalai
Привет. 'ng-view' добавил в шаблоне приложения?
NoName
Есть input для загрузки файлов. И небольшая директива для обработки. И в отдельном блоке на странице выводятся потом загруженные файлы, с помощью ng-repeat по массиву с файлами. Проблема в том, что файлы в массив пушатся, но не отображаются на странице, если сделать просто photoArray.push(f). А если послать http запрос на сервер и в success функции написать тот же photoArray.push(f), то все ок, и файл сразу отображается. Почему так? Что за фигня?
NoName
вот сам инпут
<input type="file"
multiple
hidden
id="filesInput"
data-input-file-local
data-photo-array="files"
name="photo"
data-browse="Загрузить фото"/>
вот директива
.directive("inputFileLocal", function ($http) {
return {
scope: {
uploadFunction: "&",
photoArray: "="
},
link: function (scope, elem) {
elem.on("change", function () {
scope.upload(this.files);
});
scope.upload = function upload(files) {
scope.photoArray.push('');
// $http({
// method: 'GET',
// url: '/'
// }).success(function (r) {
// scope.photoArray.push('');
// });
}
}
}
})
Константин
Константин
второе: обработка нативных html событий не вызывает digest цикл, который как раз и сообщает вьюхе о том, что нужно что-то отрендерить
Константин
третье — гугли как вызвать его руками
Anonymous
ребята, подскажите пожалуйста туториал по ангу 1.5.11
Anonymous
всем привет, такая бага -> есть select с option, пользователь выбирает значение и сохраняет, в след раз когда захожу на страницу то в селекте выбран оптион по айди который приходит с бека, но баг следующий, обновляю страницу около 10 раз и выбран первый в списке оптион а не по айди который пришол с бека. в чем может быть проблема?
Владимир
Подскажите как быть. Если есть сервис, которому нужно использовать внешнюю зависимость, например moment. Обычно эта библиотека подключается как глобальная и доступ к ней из сервиса можно получить через $window.
Я пробую импортировать библиотеку как ES6 модуль. Сервис возвращает объект с функциями
import moment from 'moment';
export function DataService() {
return { funcA: function() {...} }
}
Соответственно в момент вызова funcA() moment будет недоступна.
Конечно можно импортировать moment в window и обращаться по старому, а по другому никак?
pa[aad
Владимир
через window?
artem
всем привет) что то у меня с тернарным оператором на вьюхе не получается. например что то вроде {{ percent ? sum + percent : sum }}такое можно сделать?
artem
разобрался)
Anonymous
Группа днище, все сами по-себе.
Rem1te
Сказал человек который не ответил ни на один вопрос в группе -_-
Rem1te
С себя начинать надо
Артур
Группа днище, все сами по-себе.
https://code.angularjs.org/1.5.9/docs/tutorial/index С таким отношением и Вам быть самому по себе. В первую очередь учимся пользоваться поисковиком
Anonymous
я выделяю текст, ngFor какждую секунду перерисовывает блок, следовательно текст перестает быть выделенным, как быть?
Rem1te
Добавить trackBy
Dima
подскажите как прокинуть в компонент данные? Например хочу сделать уневерсальный компонент dropdown, и в зависимости от того что передаю в компонент с тем он и будет рабоать
Rem1te
<component-name data="$ctrl.data"></component-name>
ComponentName
bindings: {
data: '<'
}
Dima
Rem1te
:)
Rem1te
https://docs.angularjs.org/guide/component
Dima
уже 2 часа листаю, пока непонятно о этих привязках
Rem1te
Суть в чем
У родителя собираете данные
Через параметры прокидываете в потомка
У потомка при обьявлении компонента описываете что он в биндингах и КАК принимает
Rem1te
после чего эти данные лягут в this.
Dima
а как-то проще как в реакте нельзя?
например в параметре хочу прокинуть type="lang"
и в контроллере словить и если там lang то делать то и то
Rem1te
class Controller {
}
export default {
controller: Controller,
bindings: { data: '<' },
template: require('./index.html'),
};
вот пример обьявления
Rem1te
Rem1te
только нужно описать что компонент МОЖЕТ в себя принять
Rem1te
.component('app-component', ComponentConfig)
и вот регистрация компонента в модуле
Dima
ну ок пишу в параметре type="lang" дальше как его словить?
Rem1te
class Controller {
$onInit() {
console.log(this.type);<------- ТУТ БУДЕТ ВАШ ТИП
}
}
export default {
controller: Controller,
bindings: { type: '<' },
template: require('./index.html'),
};
Dima
dropdown-button-component(type="qwerty")
bindings: { type: '<' }, написал
Dima
console.log('~~~~~~~~ type: ', this.type); выдает undefined
Rem1te
Dima
jade
Dima
Dima
да строка
Dima
@webRMT поправочка в onInit действительно появилось, а почему в конструкторе нет?
Dima
Rem1te
потому что конструктор про другое
Rem1te
конструктор - про создание инстанса
Rem1te
онИнит - про то что он был проинициализирован приложением
Rem1te
Все данные которые вы пробрасываете приедут к вам в онИните
Rem1te
И кстати все что вы делаете в конструкторе в ангуляре положено делать в онИните
Rem1te
ну соответственно кроме оьявления функций
Rem1te
А ещё говорят в 2019 году плохо скоуп в компоненты тягать :)
Dima
тоесть вместо конструктора написать onInit и scope заменить на this?
Rem1te
функции обьявляються за пределами констуктора - так как ты описал онИнит
в конструкторе сетапятся дефолтные значения переменным, например
у тебя languageList это массив
вот в коснтуркторе он будет
this.languageList = [];
а в ините в него уже запихнутся полноценные значения
Rem1te
Да скоуп нет смысла тащить потому что это большая помойка
Rem1te
достаточно данные хранить в зис
Rem1te
и вытягивать в темплейте через обращение к контроллеру
Dima
@webRMT ок, делаю например дефолтные значения в конструкторе
this.title = ''
в onInit как обратится к translate? что бы сделать
this.title = $translate.instant('GENERAL.FRIENDLY');