Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.06.2018, 09:23
Аспирант
Отправить личное сообщение для Shadow Посмотреть профиль Найти все сообщения от Shadow
 
Регистрация: 05.06.2018
Сообщений: 36

Этот код относиться к ангулар или к чистому js?
Всем привет

Подскажите пожалуйста этот код можно употреблять в приложении без ангулар или нет? Спасибо
DomView.prototype.attach = function (model) {
    this.model = model;
    var that = this; // чтобы this был доступен в функции
    this.model.subscribe(MinesweeperModel.EVENT_UPDATE, function (e) {
        this.redraw(); // перерисовать картинку
    });
};
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2018, 06:34
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Можно
function MinesweeperModel() {}
MinesweeperModel.EVENT_UPDATE = 'update';
MinesweeperModel.prototype._handlers = {};
MinesweeperModel.prototype.subscribe = function (type, handler) {
    var handlers = this._handlers;
    if (!handlers[type]) handlers[type] = [];
    handlers[type].push(handler);
};
MinesweeperModel.prototype.unsubscribe = function (type, handler) {
    var handlers = this._handlers[type], i = handlers.indexOf(handler);
    if (i > -1) handlers.splice(i, 1);
};
MinesweeperModel.prototype.dispatch = function (type, data) {
    var handlers = this._handlers[type], i = 0;
    while (i < handlers.length) handlers[i++].call(this, data);
};

function DomView() {}
DomView.prototype.redraw = function () {
    alert('redraw');
};
DomView.prototype.attach = function (model) {
    this.model = model;
    var that = this; // чтобы this был доступен в функции
    this.model.subscribe(MinesweeperModel.EVENT_UPDATE, function (e) {
        that.redraw(); // перерисовать картинку
    });
};

var model = new MinesweeperModel();
var view = new DomView();
view.attach(model);
model.dispatch('update');
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2018, 18:01
Аспирант
Отправить личное сообщение для Shadow Посмотреть профиль Найти все сообщения от Shadow
 
Регистрация: 05.06.2018
Сообщений: 36

Rise,
а где вы взяли данный код я сейчас действительно делаю сапера и мне поможет любая помощь спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2018, 18:05
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Нигде, просто дописал недостающую часть по логике имеющейся части. Там кстати у меня в subscribe или unsubscribe есть недоработки, вам надо найти и исправить.

Последний раз редактировалось Rise, 13.06.2018 в 18:11.
Ответить с цитированием
  #5 (permalink)  
Старый 13.06.2018, 18:10
Аспирант
Отправить личное сообщение для Shadow Посмотреть профиль Найти все сообщения от Shadow
 
Регистрация: 05.06.2018
Сообщений: 36

Rise,
огромное спасибо)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод таблицы Excel в массив JS или объект JS the_little Общие вопросы Javascript 4 16.03.2018 15:14
Как можно оптимизировать код данный JS код? IDigle1 Общие вопросы Javascript 8 22.12.2017 01:04
Научить работать с WebDAV (на Apache) на PHP или JS eugen35 Работа 0 30.07.2014 10:01
javascript обфускатор или как правильно скрыть код syegorius Общие вопросы Javascript 1 19.09.2012 02:58
Как получит ссылку на элемент внутри которого запустили JS код? aRpi Events/DOM/Window 20 02.10.2011 13:36