yandex-ui / noscript

Noscript: JavaScript MVC Framework for building SPA
http://yandex-ui.github.io/noscript/
MIT License
34 stars 22 forks source link

[ns.View] Бросать исключение, если меняются дети #542

Closed doochik closed 8 years ago

doochik commented 9 years ago

Чтобы избежать странных ошибок и помочь разработчику, надо бросать исключение, если у обычного вида меняются дети.

Тест простой:

ns.layout.define('app1', {
   'view1': {
     'view2': {}
   }
});

ns.layout.define('app2', {
   'view1': {
     'view3': {}
   }
});

var view = ns.View.create('app')
view.updateByLayout('app1').then(function() { 
  return view.updateByLayout('app2');
})

Тут хистрость в том, что view3 не появится, потому что view1 не знает куда его добавлять

vitkarpov commented 8 years ago

@chestozo Написал на это дело кейс — https://github.com/yandex-ui/noscript-demo/blob/issue-542/app.js#L23-L36 Описал как раз ситуацию, близкую к тому, что было у нас в приложении.

Сделаю пул в ns с правильным эксепшеном для такой ситуации.