Size: a a a

Angular.js (1.x) — русскоговорящее сообщество

2019 February 15

NK

Nikolai Kovalenko in Angular.js (1.x) — русскоговорящее сообщество
Ну или ты же сам инициируешь смену
источник

C☭

Chadwick ☭ in Angular.js (1.x) — русскоговорящее сообщество
@DimaNazdratenko amchart дает возможность сделать собственный враппер для вывода лейблов.. поищи в доке
источник

AS

Artem Starchkov in Angular.js (1.x) — русскоговорящее сообщество
Нужна помощь ребят. Собственно решил воспользоваться "Typeahead (ui.bootstrap.typeahead)
Static arrays" для автокомплита отсюда https://angular-ui.github.io/bootstrap/ . По примеру оттуда это то что надо. Но при использовании кидает следующуюю ошибку:

Error: [$compile:multidir] Multiple directives [debounce, uibTypeaheadPopup] asking for new/isolated scope on: <ul class="dropdown-menu" ng-show="isOpen() &amp;&amp; !moveInProgress" ng-style="{top: position().top+'px', left: position().left+'px'}" role="listbox" aria-hidden="{{!isOpen()}}" uib-typeahead-popup="" id="typeahead-252-8580" matches="matches" active="activeIdx" select="select(activeIdx, evt)" move-in-progress="moveInProgress" query="query" position="position" assign-is-open="assignIsOpen(isOpen)" debounce="debounceUpdate">
источник

NK

Nikolai Kovalenko in Angular.js (1.x) — русскоговорящее сообщество
Очевидно, что на один тег повесил 2 директивы, создающие свои скоупы. Показывай код
источник

NK

Nikolai Kovalenko in Angular.js (1.x) — русскоговорящее сообщество
Дебаунс надо убрать в инпут, наверно
источник

AS

Artem Starchkov in Angular.js (1.x) — русскоговорящее сообщество
Nikolai Kovalenko
Очевидно, что на один тег повесил 2 директивы, создающие свои скоупы. Показывай код
Весь выкладывать много, это как раз то что относится к автокомплиту и отчего ошибка могла быть:

Шаблон:
form ng-submit="sendTheatreRequest()">
                   <script type="text/ng-template" id="customPopupTemplate.html">
                       <div class="custom-popup-wrapper"
                            ng-style="{top: position().top+'px', left: position().left+'px'}"
                            style="display: block;"
                            ng-show="isOpen() && !moveInProgress"
                            aria-hidden="{{!isOpen()}}">
                           <p class="message">select location from drop down.</p>

                           <ul class="dropdown-menu" role="listbox">
                               <li class="uib-typeahead-match" ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }"
                                   ng-mouseenter="selectActive($index)" ng-click="selectMatch($index)" role="option" id="{{::match.id}}">
                                   <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>
                               </li>
                           </ul>
                       </div>
                   </script>

                   <input type="text" ng-model="selected" uib-typeahead="state for state in states | filter:$viewValue | limitTo:8" class="form-control">


А это js:
import 'angular-ui-bootstrap'

$scope.selected = undefined;
       $scope.states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii'];



// create a module
export default angular.module(name, [
   angularMeteor,
   'ui.bootstrap',
   'ui.bootstrap.typeahead',
   'ui.bootstrap.debounce',
   'g1b.datetime-range',
   'g1b.datetime-inputs',
   'g1b.scroll-events'
 ]).component(name, {
   template,
   controllerAs: name,
   controller: Artists
 })
 .config(config);
источник

AS

Artem Starchkov in Angular.js (1.x) — русскоговорящее сообщество
Nikolai Kovalenko
Дебаунс надо убрать в инпут, наверно
В инпуте нету дебаунс.
источник

S(

SkipTyler (Sunrise) in Angular.js (1.x) — русскоговорящее сообщество
Всем привет.
Есть у меня элемент

<nav role="navigation"
    data-ng-controller="Navigation as vm"
    class="left-menu left-menu-ucp"
    ng-class="{ 'opened': vm.isOpened }"
>


Почему то  при ресайзе,  если выполнилось условие,  и vm.isOpened стает false (консоль показывает,  что false) класс opened не убирается.
Как лечить?
источник
2019 February 16

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
SkipTyler (Sunrise)
Всем привет.
Есть у меня элемент

<nav role="navigation"
    data-ng-controller="Navigation as vm"
    class="left-menu left-menu-ucp"
    ng-class="{ 'opened': vm.isOpened }"
>


Почему то  при ресайзе,  если выполнилось условие,  и vm.isOpened стает false (консоль показывает,  что false) класс opened не убирается.
Как лечить?
вывести переменную в шаблоне и увидеть что её состояние по прежднему тру
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
или
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
вызвать дайджест цикл
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
если ресайз хендлится вне ангуляра
источник

S(

SkipTyler (Sunrise) in Angular.js (1.x) — русскоговорящее сообщество
Remite
или
Помог $scope.apply()

Но это только с тру фолс

А если я хочу переназначить на значение с другой переменной, то не работает.

В понедельник буду гуглить)
источник

NK

Nikolai Kovalenko in Angular.js (1.x) — русскоговорящее сообщество
SkipTyler (Sunrise)
Всем привет.
Есть у меня элемент

<nav role="navigation"
    data-ng-controller="Navigation as vm"
    class="left-menu left-menu-ucp"
    ng-class="{ 'opened': vm.isOpened }"
>


Почему то  при ресайзе,  если выполнилось условие,  и vm.isOpened стает false (консоль показывает,  что false) класс opened не убирается.
Как лечить?
Явно вывести в шаблоне {{vm.isOpened}}. Если в контроллере одно значение, а в шаблоне другое, дело не в скоуп.аплай
источник

S(

SkipTyler (Sunrise) in Angular.js (1.x) — русскоговорящее сообщество
Nikolai Kovalenko
Явно вывести в шаблоне {{vm.isOpened}}. Если в контроллере одно значение, а в шаблоне другое, дело не в скоуп.аплай
В понедельник скину пример кода )
источник

NK

Nikolai Kovalenko in Angular.js (1.x) — русскоговорящее сообщество
Ок. Но не бывает такого, что в контроллере одно значение, а в шаблоне другое, и это зависит от аплая
источник
2019 February 18

S(

SkipTyler (Sunrise) in Angular.js (1.x) — русскоговорящее сообщество
Nikolai Kovalenko
Ок. Но не бывает такого, что в контроллере одно значение, а в шаблоне другое, и это зависит от аплая
    function toggleOpenResize() {
     var qqq = JSON.parse(isOpenLocalVal);
     (window.innerWidth < 768) || (window.innerHeight <= 700 && window.innerWidth < 1024) ? (
         body.classList.remove('modal-open'),
             body.classList.remove('stop-scrolling'),
             $scope.$apply('main.isOpened = false')
     ) : (
         localStorage.getItem('isOpenUCPMenu') === null ? (
             $scope.$apply('main.isOpened = true')
         ) : (
             $scope.$apply('main.isOpened = qqq'),
                 console.log(main.isOpened)
         ),
             body.classList.remove('modal-open'),
             body.classList.remove('stop-scrolling')
     )
   }


Собственно вот.

Сменить на true/false получается,  а взять значение с какой то переменной нет(
источник

NK

Nikolai Kovalenko in Angular.js (1.x) — русскоговорящее сообщество
$scope.$apply('main.isOpened = true') ого а так можно было
источник

S(

SkipTyler (Sunrise) in Angular.js (1.x) — русскоговорящее сообщество
Nikolai Kovalenko
$scope.$apply('main.isOpened = true') ого а так можно было
сделал через ф-ю
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
а зачем вы вешаете нативный ресайз? повесьте ангуляровский
источник