@angular_js

Страница 84 из 325
Anton
12.11.2016
17:58:44
В экспрессе я пишу в конце после всех app.get и app.post:

app.get('/*', function (req, res) { res.sendFile(appDir + '/app/index.html'); });

Fayozjon [CybernatiC]
12.11.2016
17:59:15
У вас бэк тоже нода?

Anton
12.11.2016
17:59:52
У меня да. Но у меня все работает. У жареда хз

Google
Fayozjon [CybernatiC]
12.11.2016
18:00:49
Я про него и говорю

Кстати вы юзаете ноду для разработки апи?

Попробуйте loopback намноого ускорит процесс

Anton
12.11.2016
18:05:31
Сделай чтоб по запросу любой страницы у тебя главная(та, которая единственная) возвращалась

Без этого он у тебя ищет роут с этой страницей и возвращает пустую ибо не находит

Jared
12.11.2016
18:20:19
А у меня и не должна быть одна точка входа. Входить нужно на любую страницу, включая конкретный товар

Сейчас как раз через главную только и входит, что не устраивает заказчика (разумеется). Конечно, можно оставить и с хэшем, но как-то уродски выглядит

Anton
12.11.2016
18:42:51
А зачем одна точка? Тебе возвращается твоя страница и адрес, а фронтовый роутер уже резолвит что во вьюхе отобразить

У тебя вообще всего одна страница по идее, а ее содержимое зависит от роутера

Вот чтоб без хэша работало надо чтоб по запросу sitename/page/section/56557/anotherpage/... Всегда возвращался index.html, а ангуляр сам решит что ему там отобразить в зависимости от настроек роутера. Твоя проблема, что по запросу sitename/page/section/56557/anotherpage/ Сервер ищет точно такой роут и естественно не находит

(Немного пояснений почему работает с хэшом: потому что на сервак уходит запрос со строкой, которая до хэша, а то что после него остается в адресной строке и парсится ангуляром)

Jared
12.11.2016
18:50:53
Все, я тебя понял. Я в курсе, как работает роутинг, не понял просто, что ты имел в виду под единственной страницей

Google
Jared
12.11.2016
18:51:37
Знать бы еще как это сделать))

Бэком занимаются другие люди, на мне только фронт. Максимум что могу - поковыряться в nginx на локалхосте

Виктор
12.11.2016
20:34:58
Знать бы еще как это сделать))
<IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteRule ^ index.php [QSA,L] </IfModule> Примерно такой .htaccess надо прописать, где у меня index.php - скрипт который обрабатывает все запросы для текущего base URL. Файл .htaccess лежит рядом с index.php

Jared
12.11.2016
20:35:20
Это Apache, у меня nginx

Виктор
12.11.2016
20:35:26
ну с nginx разобраться лучше - быстрее работать будет

одно другому не мешает

Jared
12.11.2016
20:35:36
))

Виктор
12.11.2016
20:35:48
у меня и апач есть и nginx обычно

Jared
12.11.2016
20:37:50
Да я уже весь день разбираюсь, перепробовал реально все с SO, в т.ч. и приведенные там конфиги. Сейчас новый субдомен создал, на нем экспериментирую

Виктор
12.11.2016
20:40:14
а что там разбираться то - погуглите в инете, делается не сложнее чем через .htaccess

я имею в виду на nginx

Jared
12.11.2016
20:46:09
У меня хватает сайтов на nginx, все всегда работало, но именно в такой комбинации (html5Mode + ngRoute) почему-то не хочет работать, причем ни на живом сервере, ни на локалхосте с дефолтными настройками

В общем, разбираюсь

Виктор
12.11.2016
20:46:40
https://winginx.com/ru/docs/rewrites

location / { try_files $uri $uri/index.html $uri/index.php @router; }

типа того

Сам не пробовал через nginx - но тема интересная - хочу сам туда копнуть:)

Дмитрий d
14.11.2016
09:35:41
чат, сап) есть такой код: <input type="text" ng-model="itemSearch" /> <li ng-repeat="item in models.lists.sourceItems | filter:itemSearch" > ... </li>как заставить делать поиск не только по значениям (item.value), но и по остальным параметрам value? нужно прописывать функцию, или можно как-то проще?)

Google
Дмитрий d
14.11.2016
09:42:05
жаль. думал, можно проще. спасибо

Valery Dolgov
14.11.2016
09:46:16
<input type="text" data-ng-model="searchKeywords" data-ng-keyup="search()"> $scope.search = function() { $scope.result = $filter('filter')($scope.searchCollection, $scope.searchKeywords); };

А коллекцию result уже биндишь в свой список

Sergey
14.11.2016
10:01:05
парни, есть один контроллер. в нём используется $scope.$watch Код выполнялся дважды. Добавил проверку oldValue != newValue. После этого наблюдаются сбои в поставке данных из контроллера во вью. $scope.$apply не помогает. Есть у кого нить мудрый совет куда копать?

Sergey
14.11.2016
10:10:29
нет

MVP
14.11.2016
10:13:09
ну вообще он и будет 2эжы выполниться потому что вначала переменная инициализуется с value = undefined

пожтому внутри watch надо не **if(oldValue != newValue)** а **if(newValue)** ставить

Sergey
14.11.2016
10:14:55
да собственно вопрос не в этом, хотя и спасибо, вопрос почему digest loop ломается

MVP
14.11.2016
10:16:38
Sergey
14.11.2016
10:17:25
внутри вотча xhr

Sergey
14.11.2016
10:17:59
у него в саксесе обработка и раскладывание по переменным вида $scope.value

всё

когда вотч работал 2 раза - данные отображались на странице

теперь нет

добавил в родительский скоп переменную со значением 0

MVP
14.11.2016
10:21:41
ну, тоесть у тебя не меняется value за которым ты следишь

как было 276..так и остается

с чего тогда запускать xhr

Google
Sergey
14.11.2016
10:22:03
точно

когда с 0 на 2767380

тогда xhr и улетает

там все нормально

я $scope логаю. Все переменные на месте и со значениями как надо

Admin
ERROR: S client not available

Sergey
14.11.2016
10:23:23
а вот на странице нет их

MVP
14.11.2016
10:24:56
а в шаблоне ng-if есть вокру этого отображегния?

Sergey
14.11.2016
10:26:07
no

к родительскому подключается через ng-include

а контроллер к шаблону через ng-controller

MVP
14.11.2016
10:31:19
> @herroino Все переменные на месте и со значениями как надо в смысле уже все из xhr приходит как надо?

Sergey
14.11.2016
10:31:51
ну да. Всё хорошо отрабатывает

кроме того что я данных на странице не вижу

MVP
14.11.2016
10:36:43
ставлю на то что опечатка где-то

Sergey
14.11.2016
10:41:40
ставлю на то что опечатка где-то
какого плана опечатка?

изменил условие с newValue != oldValue на newValue == oldValue и всё работает

wtf

почему watch вообще 2 раза срабатывает?

что его второй то раз триггерит

Google
Fayozjon [CybernatiC]
14.11.2016
10:43:29
у меня click event ы тоже 2 раза срабатывают

MVP
14.11.2016
10:45:21
> @herroino newValue == oldValue и всё работает тогда я вообще не понял что у тебя на чем стоит, потому что такое условие - newValue == oldValue - как бе обратный вариант вотчера... типо следи за изменениями, то срабатывай только если ничего не поменялось

Sergey
14.11.2016
10:45:47
вотч тригерится дважды почему то

первый раз с 0 на 2767380

2ой c 2767380 на 2767380

почему такое происходит хз

MVP
14.11.2016
10:46:46
> @herroino первый раз с 0 на 2767380 это при инициализации

Sergey
14.11.2016
10:48:16
таааак

да

согласен

при инициализации

то есть просто добавляю проверку на 1ый запуск(инициализацию) и лишний xhr пропадёт

спс

MVP
14.11.2016
10:51:34
дерзкий черт

тут твоем говнокоде пытаются копаться и телепатией понять чо проихсодит

Страница 84 из 325