AngularJS v1.7.7 orderBy неверно работает. ng-repeat="action in model.actions | orderBy:['sortOrder','-id']" actions: Array(2) 0: {id: 3, sortOrder: 1} 1: {id: 2, sortOrder: 2} В итоге отображаются id=2,id=3
ребята- вгляните на мой тестовый файлик - что я делаю не так?
Вероятность ответа уменьшается за счёт: - распаковывать архив надо - скачивать нужно - воспроизводить ошибку или ванговать
DARK CITY
Вероятность ответа уменьшается за счёт: - распаковывать архив надо - скачивать нужно - воспроизводить ошибку или ванговать
Может не у всех диалап)) и кто-то сможет себе позволить пару кб скачать) Я с компа на nodpad делал
pa[aad
ребята- вгляните на мой тестовый файлик - что я делаю не так?
вопрос не по теме чата, вам чисто по js нужен телеграм канал
pa[aad
и да, никто и никогда не будет скачивать какие-то подозрительные архивы и еще распаковывать
pa[aad
это как код на фотке с телефона
pa[aad
линк
найдите сами есть гугл для этого и ключевые слова для поиска это - js noobs telegram
это как код на фотке с телефона
// на правах флуда Android fooView + шрифт ходовой для распознавания=) [шутка]
Mikhail
Ребят, всем привет, помогите плз, столкнулся с проблемой что Timeout выполняется лишь один раз. var timer2; timer2 = $timeout(function () { $scope.notactiveproducts(); $scope.notactivesending(); $scope.notactiveComing(); $scope.displayClients(); },10000);
Константин
А не таймаут
Mikhail
Привет Тебе, вероятно,нужен $interval
Ну у меня задача обновлять каждие 10 сек некоторые скопы
Константин
Ну да, этим занимается интервал, а не таймаут
Константин
Таймаут просто отсрочивает выполнение блока кода
Mikhail
Ну да, этим занимается интервал, а не таймаут
Вот так вот все работает - $scope.notactiveComing = function() { $http.get('api/v1/coming/notactivecoming') .success(function(data) { $scope.notactivecomings = data; var number = $scope.notactivecomings.length; }) $timeout(function () { $scope.notactiveComing(); },10000); }
Mikhail
Ну да, этим занимается интервал, а не таймаут
А какие могут возникать проблемы при таком подходе как у меня? Просто я не профи, только учусь.. =/
Mikhail
Блин, чувак, загугли angularjs interval и все сразу поймёшь)
Понял, окей)) Просто гугл не рассказывает обо всех косяках)))
Константин
Ты все верно делаешь, но используешь неверный модуль
Mikhail
да
Константин
Возможно тебе и правда нужен таймаут
Константин
у тебя реально он один раз выполняет?
Константин
Это странно
Константин
Он заходит при дебаге в success?
Mikhail
Возможно тебе и правда нужен таймаут
$scope.notactiveComing = function() { $http.get('api/v1/coming/notactivecoming') .success(function(data) { $scope.notactivecomings = data; var number = $scope.notactivecomings.length; }) $timeout(function () { $scope.notactiveComing(); },10000); }
Константин
Епт, у тебя ж таймаут вызывается не внутри функции success
Mikhail
Возможно тебе и правда нужен таймаут
А перед этим я использовал такой подход и не сработало.. Выполняло всего один раз. var timer2; timer2 = $timeout(function () { $scope.notactiveproducts(); $scope.notactivesending(); $scope.notactiveComing(); $scope.displayClients(); },10000);
Константин
Тебе нужно вызвать таймаут после того как ответ пришёл, т.е. внутри success
Константин
Врубаешь о чем я?
Константин
С телефона неудобно
Mikhail
Тебе нужно вызвать таймаут после того как ответ пришёл, т.е. внутри success
В принципе да, я просто лопатил stackoverflow и половина примеров были как у меня сейчас)
Константин
$scope.notactiveComing = function() { $http.get('api/v1/coming/notactivecoming') .success(function(data) { $scope.notactivecomings = data; var number = $scope.notactivecomings.length; $timeout(function () { $scope.notactiveComing(); },10000); }) }
Константин
Как то так
Andrii
Всем привет. У меня возникла такая проблема. Вообщем у меня есть такая директива <good-block-component data-checkingGoodsMode="checkingGoodsMode"></good-block-component> Тоесть в етом компоненте должно появляться checkbox чтобы сделать мультивыборку товаров Вот так <div class="multiGoodCheckbox" data-ng-if="checkingGoodsMode"> <label class="checkboxContainer"> <input class="checkedGoods" type="checkbox" data-ng-click="clickFunc(good)" ng-model="good.selectedGood"> <span class="checkmark"></span> </label> </div Вопрос в том что, когда я меняю значения checkingGoodsMode из родительського контроллера оно не меняется в директиве. Помогите пожалуйста:)
Nikolai
наверняка дело в $scope и что checkingGoodsMode находится в родительском
Andrii
Дело в том что checkingGoodsMode передается в дочерний елемент но, если поменять значеные в родительском, то оно не поменяется в дочерним
Andrii
И передается оно так goodBlockComponent.$inject = []; function goodBlockComponent() { return { restrict: "E", // replace: false, scope: { good: "=", currency: "=?", clickFunc: "=", checkingGoodsMode: "=" }, // link: function (scope, element, attrs) { // scope.$watch(attrs.value, function(newValue) { // element.text(newValue); // }); // } templateUrl: require("../../views/templates/search/_goodBlockComponent.html"), controller: 'goodItemComponentCtrl' } } module.exports = goodBlockComponent;
Rem1te
checkingGoodsMode - примитив?
Rem1te
var a = true; var b = a; a = false; b === ??? var a = { foo: true, } var b = a; a.foo = false; b.foo === ???
Andrii
boolean
Rem1te
Булиан - примитивы Примитивы передаються по значению а не по ссылке
Rem1te
в вашем случае первый кейс из моего примера, b сохранит старое значение
Andrii
Тоесть вариант передать обьект вместо булиан?
Rem1te
Все упирается в то насколько ваша религия позволяет писать "невяные" вещи для обхода проблем
Rem1te
Но вообще да это решит проблему
Rem1te
Не просто передать обьек, но и сторить обьект в родителе
Rem1te
checkingGoodsMode = { value: false, } checkingGoodsMode.value = true; checking-goods-mode="$ctrl.checkingGoodsMode" ng-if="checkingGoodsMode.value"
Andrii
гмм.. интересно, попробую. Спасибо
Rem1te
но я бы предпочел < и внутри компонента смотрнеть на входящий параметр
Andrii
через $watch?
Rem1te
checkingGoodsMode: "<" в потомке ng-if="$ctrl.checkingGoodsMode" в таком случае вы всегда будете получать актуальное значение из родителя
Rem1te
даже если там будет буль
Rem1te
но если вам нужно менять это значение из потомка в родителе - ето не будет работать
Rem1te
прийдеться писать колбек
Rem1te
Справедливости ради - колбеки лучше чем нг-модель
Rem1te
вот это вот ту вей дата байдинг зло из зол
Andrii
менять нужно только из родительского
Rem1te
значит < и порешали
Andrii
вопрос что такое $ctrl?
Andrii
его нужно инжектировать?
Rem1te
а забей, это когда используешь Ангуляр джс без скоупа нужно хранилище и имя для этого хранилища в твоем случае в темплейте будет просто ng-if="checkingGoodsMode"
Andrii
не роботает:(
Nikolai
да у него стопудово проёбан скоуп
Nikolai
не роботает:(
покажи, html, где ты вызываешь директиву
Nikolai
а переменную, небось, в контроллере меняешь
Nikolai
а в html куча ng-if
Andrii
угу
Nikolai
ну
Nikolai
делай кучу $parent.$parent.$parent.$parent.$parent.$parent.checkingGoodsMode
Nikolai
сколько там скопов создал, столько и парентов
Nikolai
= и < дадут обновление булеана в директиве
Nikolai
но < круче, да
Rem1te
= и < дадут обновление булеана в директиве
в случае если scope.a = true; child ng-if="a" то a=false в родителе не изменит значение в чайде