Вопросы по ангуляру
Щас ковыряю ангуляр, и думаю что текущий вопрос это не последний, поэтому создам отдельную тему, и буду тут спамить ангуляром.
что я делаю не так? Почему не обрабатывается click ? var static = angular.module("staticPage", []); static.directive("showPage", function () { return function ($scope, element) { element.bind("click", function () { console.log("click") }); }; }); <body ng-app="staticPage"> <div class="body" ng-controller="MainCtrl"> <div class="menu-wrap" > <ul class="menu" ng-repeat="item in menu"> <li showPage> <a href="#{{item}}"> {{item}} </a> </li> </ul> </div> <!-- .... --> Нашел ошибку, не работает из за того что буква "P" в верхнем регистре , а атрибуты в нижнем регистре, toLowerCase - не не слышал... |
хватит срать в оффтоп http://javascript.ru/forum/angular/
|
и вообще в линкинг функцию передается не $scope а scope
а вообще директивы пишутся с префиксами, ты должен писать <li ng-showPage> <a href="#{{item}}"> {{item}} </a> </li> |
Maxmaxmaximus6, спс учту)
|
а терь сравни ui версию)
ui.directive("showPage", function () { return function (scope, element) { element.on("click", function () { console.log("click") }); }; }); <div controller="Main" class="menu-wrap" > <ul repeat="item in menu" class="menu"> <li showPage> <a href="#{item}">{item}</a> </li> </ul> </div> |
А вообще правильнее и красивее писать (в ui) вот так:
<div controller="Main as main" class="menu-wrap" > <ul repeat="menuItem in main.menu" class="menu"> <li showPage> <a href="#{menuItem.hash}" bind="menuItem.text"></a> </li> </ul> </div> function Main (){ menu = [ {text: 'home page', hash: 'home'}, {text: 'last news', hash: 'news'} ] } |
Maxmaxmaximus6, норм, но мне не особо важен синтаксический сахар, это не конечно + , но главное что бы работало как мне нужно)
|
Да и вообще если хочешь глобальные значения у меня запилить то не обязательно контроллер пилить)
ui.global{ menu: [ {text: 'home page', hash: 'home'}, {text: 'last news', hash: 'news'} ] } ui это модуль от которого можно отнаследовать новые модули если хочешь ui.module('name') создаст модуль, если такой модуль уже создан то вернет его =) Цитата:
|
Цитата:
function getHash(elem) { return elem.hash || elem; } <li showPage> <a href="#{getHash(item)}" bind="item.text"></a> <!-- я еще не совсем разобрался в синтаксисе ангуляра но вроде так можно?! --> </li> |
cyber,а вообще директиву шоу пейдж делать не надо, ты должен создать директиву сменьщика страниц и применить её к контейнеру страниц, и заставить её слушать изменения хэша) это к слову так.
типа <ul> <li><a href='#home'>Главная</a></li> <li><a href='#news'>Новости</a></li> </ul> <ul pageContainer> <li page='home'>содержимое</li> <li page='news'>содержимое</li> </ul> pageContainer и page 2 взаимосвязанные директивы). Директива pageContainer слушает изменения хэша и показывает ту или иную директиву page в зависимости от значечния. но И ЭТО не правильный вариант, так как для этих целей в ангуляре есть роутер)) Цитата:
|
Цитата:
Вот запилишь видеокурс по своему ui, тогда и поговорим или хотя бы статью на хабре) |
Цитата:
|
Цитата:
<div class="page_show_{showPage}"></div> <style> .page_show_true{ } .page_show_false{ } </style> |
Maxmaxmaximus6, понял, спс буду ковырять.
П.с плюсовать не буду, так как заметил зависимость между ростом твоей кармы и появлением кучи ужасных картинок) |
Я могу очень резко поднять себе карму на 40 если захочу) не парься. Карма на этом форуме не дает привелегий)
вот если бы с отрицательной кармой нельзя было постить картинки))))) |
Цитата:
|
По моему ты несешь хуиту) я пощу картинки в теме смешные картинки) Как тебя могут заебать картинки если ты заходишь в тему картинки? Не заходи в нё, в чем проблема то)? Где твоя логка парень)?
|
Перед тем как использовать Angular сто раз подумайте.
http://binarymuse.github.io/ngInfini...emo_basic.html Ну и пример на главной с туду, попробуйте удерживать ентер, после 500-1000 пунктов Angular уводит вкладку в сон (Ractive после 1500, но там анимация!). Лучше посмотрите в сторону Ractive |
что ты подразумеваешь под
Цитата:
|
monolithed, и вообще я пока думаю о чем маленьком типо dot.js
|
ангуляр вроде и крутая штука, но слишком громоздкая, да и тормозить в моем случае точно не будет.
Просто давно руки не доходили руки до ангуляра, поэтому просто пробую. |
Цитата:
Пример со скроллом тоже не тормозит? |
monolithed, если колесиком крутит то дошел до 3х потом просто надоело тормозов не было, жрало 40 000к оперативы (не более чем другие страницы).
|
Цитата:
|
Цитата:
щас скриптом прокручу) |
monolithed, что можешь посоветовать маленькое и быстрое (не dot.js) из клиентских шаблонизаторов, но с синтаксисом похожий на ангуляровский или ejs, потом что dot.js меня бесит)
|
|
Цитата:
В чем преймущества? |
Цитата:
Если скорость, то RactiveJS один из самых быстрых и простых фреймворков подобного класса. Цитата:
Т.е. если в ангуляре нужно придерживаться их уродской архитектуры, то RactiveJS работает вокруг твоей архитектуры. Например, если ты привык использовать RequireJS, а не DI, то нет ничего проще чем использовать плагин к RactiveJS |
monolithed, спасибо буду ковырять.
|
monolithed,
http://binarymuse.github.io/ngInfini...emo_basic.html Google Chrome начал тормозить после 500 Mozilla Firefox после 1000 Internet Explorer 11 после 4500 начал чуть притормаживать |
Цитата:
|
Цитата:
Цитата:
Цитата:
https://github.com/RactiveJS/Ractive...0-second-setup очень на проект Финома похоже https://github.com/RactiveJS/Ractive...0-second-setup или проект Финома на него http://javascript.ru/forum/project/4...reshka-js.html |
Цитата:
Цитата:
Цитата:
Попробуй написать нормальное приложение на ангуляре вокруг своей архитектуры или хотя бы расширить уже существующую написанную с использованием ангуляра. Да и вообще вы много знаете ентерпрайз-проектов на ангуляре? |
Цитата:
Цитата:
Цитата:
Можно "отдать главенство" ангуляру и использовать его каркас (в т.ч. ng-app), либо внедрять "модули" в уже существующее приложение, коих может быть бесчисленное множество. |
Цитата:
Чтобы тебе было проще понять, что такое 2k, это список просмотра картинок в поиске гугла (300 элементов) * несколько прокруток + фильтры. Если для перехода на следующую страницу нужно ее перезагрузить, то такой инструмент не нужен. Тем не менее ангулар можно приготовить работать и с большим количеством связок, но эта работа будет похожа на подготовку gcc к advanced mode |
Цитата:
Цитата:
Цитата:
1. вес биндингов 2. частота срабатывания 3. кол-во биндингов, кот. срабатывает в единицу времени 4. ... Поэтому, если в единицу времени мы обновляем все приложение, вероятно, мы делаем что-то не правильно. Чтобы было наглядней: root: { scope: { scope: {} // если надо обновить только этот кусок, зачем перерисовывать/пересчитывать все приложение? }, scope: {}, } |
Цитата:
|
Часовой пояс GMT +3, время: 09:45. |