Dec. 2nd, 2015

orleanz: (main)
Коммент который я сегодня добавил в мой продакшен код

(это не шутка юмора, если что)

контекст: фронтенд, виджеты на SVG (scalable vector graphics)

итак

внимание

вот такой коммент

// no idea why do we need to divide it by 2, but it works correctly only that way
orleanz: (main)
есть ng-if="{{expression}} который, когда эвалуируется на фолс, то не показывает элемент, не хайдится даже, а жорстко, нет его в в ДОМЕ, в дев тулзах не видно (только коммент зеленый, что ng-if его убрал)

это все широкоизвестно

Но если у вас в этом элементе есть SVG, аттрибуты которого идут из $scope, то в консоли браузера будут ошибки, потому браузер даже при выключенном показе элемента (через ng-if, см. выше), пытается пропарсить его, и жаловаться будет на невалидные аргументы

и вот хоть убейся, как убрать эти ошибки?

он возникают на ангулярной фазе Компайл, когда ангуляр еще не имеет валидного $scope, а только шаблон

в итоге, лечится эта хрень через создания специальной директивы, скажем, вместо аттрибута line x=5, пишем line ng-x=5, и потом в директиве ngX уже все делается, как надо, когда скоуп появляется

вот так и живем

вот за это Англуляр и "любим", и он нас "любит", в извращенной форме.

https://github.com/angular/angular.js/issues/1050

Profile

orleanz: (Default)
orleanz

December 2018

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 17th, 2025 09:34 pm
Powered by Dreamwidth Studios