Search
Write a publication
Pull to refresh
15
0
Туловский Алексей @Tulov_Alex

Програмист

Send message
Бесспорно. И не нужно велосипед изобретать (хотя это уже свершилось :) )
Полностью с вами согласен. От всего этого уже потихоньку избавляюсь. Очень ваши советы с justboris-ом помогли. Действительно я там много сделал того, что можно реализовать встроенными средствами angular. Думаю сегодня в репозитарии появиться новая реализация. Она пока будет поддерживать только показ данных (без редактирования).
AngularJS используется, как минимум, в одном сервисе Google — DoubleClick.
Я так понял главная причина изобретение собственного велосипеда заключается в том что не хочется подгружать чего-то типа AngularJS, Ember и прочих Knockouts.
AngularJS 80k и для простых задач jquery вообще не нужен.
JQuery 1.7 = 92k и плюс еще Zepto.
На счет "создает значительную run-time нагрузку", не уверен что ваше решение создаст ее меньше. Такая нагрузка бывает когда не правильно инструмент используешь, а не сама по себе возникает при использовании чего-то типа AngularJS, Ember и прочих Knockouts.
Самый простой способ, который сразу приходит в голову, это сделать что-то типа такого:
var process = false;
var auth = function(stateName){
    $http.get('...').success(
        function(data){
            process=true;
           $state.go(stateName);
    });
};
$scope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){ 
    if(process){
         process=false;
    }else{
        auth(toState.name);
        event.preventDefault();
   }
})

Но скорее всего есть и более элегантные подходы.
Точно. В ui-router отменить переход можно очень просто:
$scope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){ 
    if(toState.name==='...' && notAuthorized){
        event.preventDefault();
    }
})
Я вместо нее просто использую CSS3 анимации. Выходит все проще и понятнее.
В стабильной версии Angular директивы ng-animate пока не было.
Имеем структуру:
<div map ... >
    <point ng-repeat="...">
</div>

И как потом эту структуру синхронизировать с картой? Все равно чтобы удалить, отредактировать и т.д. что-либо на карте нужно вызывать javascript, все тот же метод synchronize.
Или же вы предлагаете напрямую работать с html карты?
Спасибо. Не знал этого. В будущем поправлю с учетом этого.
Все несколько проще. В этом случае мы просто определяем разность массивов, и удаляем с карты удаленные маркеры, обновляем обновленные и т.д. А ng-repeat при каждом изменении массива будет вызывать полную перерисовку карты.
Ну так это и понятно. Ни кто вам не запрещает использовать jquery, но подход angular очень сильно отличается от подхода jquery, и ее использование не особо приветствуется.
Даже такие проекты как Angular.UI постепенно уходят от нее, а UI.Bootstrap вообще без нее обходится.
В таком случае это то же, что и:
var centers = [...], counter = 0;
$scope.changeCenter = function(){
$scope.mapProperties.params.center = centers[counter++%4];
};
Следуя вашей логике Java намекает на JavaScript? Ведь это не одно и тоже.
Откуда в angular вдруг зависимость от jquery?
Там есть встроенное средство JLite, если не ошибаюсь. JQuery подключается при необходимости, но зависимости от него нет.
Это просто демонстрация программной установки центра карты. В зависимости от того, который раз нажимается кнопка, устанавливается центр карты.
В angular уже есть инфраструктура для привязки данных. Применять там матрешку, это то же самое, что одновременно ехать верхом на двух лошадях. :)
А что мешает применить фильтры, или любые функции для получения выходного набора прямо в контроллере?
На счет отображения, параметры отображения карты в моем случае находятся не в контроллере, а в настройках провайдера. В контроллере просто существует возможность переопределить некоторые из них в случае необходимости (хотя сомнительно что это кому понадобится). Но это конечно можно делать и в представлении, но в этом случае оно здорово распухнет, и потеряет в производительности.
Но чисто в концептуальном плане согласен с вами. Хотя любую концепцию тоже не стоит потреблять вслепую. Чтобы выяснить что лучше, по уму, нужно написать код по обоим вариантам и пропустить его через тесты на производительность. Возможно я попробую это сделать на досуге.
А по мне, так это дело вкуса. В чем разница между
<div ya-map="..." ng-model="..." ... ></div>
и
<div ng-map>
<ng-map-canvas>
<ng-map-marker ng-repeat="...">
</div>
???
На функционал это не как не влияет, внутри происходит одно и тоже.
Извиняйте, очепятки иногда случаются :). Отредактировал.

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity