Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

АПИ для доопределения параметров апдейта в patchLayout #619

Open
vitkarpov opened this issue Aug 16, 2016 · 4 comments

Comments

@vitkarpov
Copy link
Member

vitkarpov commented Aug 16, 2016

Есть вьюшка, которая патчит свой лейаут:

ns.View.define('v-1', {
  models: ['m-1']
  methods: {
    patchLayout() {
      if (this.getModel('m-1').isInGoodMood()) {
        return 'layout-for-v-1-1';
      }
      return 'layout-for-v-1-2';
    }
  }
});

Хочется на основании данных модели доопределить параметры апдейта, который запустится для отрисовки этой части дерева.

Сейчас сделал просто, но это работает:

// HACK: т.к. объект передается по ссылке, то его можно модифицировать
patchLayout(updateParams) {
  updateParams.p1 = this.getModel('m-1').getMeP1();

  // ...
}

Хочется сделать более очевидную штуку (и не разломать это в будущем, зафиксировав АПИ).

Лайт-вариант (почти то же самое, но чуть более явно), без потери обратной совместимости:

patchLayout(updateParams, extendedParams) {
  extendedParams.p1 = this.getModel('m-1').getMeP1();

  // ...
}
@vitkarpov
Copy link
Member Author

@chestozo @Katochimoto что думаете насчет того, чтобы добавить в patchLayout «законную» возможность доопределения параметров апдейта для определенной части дерева?

@chestozo
Copy link
Member

Ох, ещё одно место модификации параметров.
Может просто руками update запускать и туда подсоввывать параметры уже?
Я бы не стал это в API выносить если честно, но, может, я зануда )

@vitkarpov
Copy link
Member Author

vitkarpov commented Aug 23, 2016

Может просто руками update запускать и туда подсоввывать параметры уже?

Ну, как бы patchLayout и нужен для того, чтобы запустился еще один апдейт, автоматом, после запроса моделей.

@vitkarpov
Copy link
Member Author

vitkarpov commented Aug 23, 2016

@chestozo @alexeyten слушайте, я тут подумал, а может сделать это еще более явно — добавить метод patchParams? Он явно доступен для реализации, и будет вызываться до patchLayout, соответственно, в него попадут уже измененные параметры.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants