bem / bem-mvc

Yet another MVC for i-bem
29 stars 26 forks source link

Нельзя добавить несколько биндеров на один блок #102

Closed maxatwork closed 10 years ago

maxatwork commented 10 years ago

Следующий bemjson теоретически должен бы добавлять два биндера: один input, и один mod.

{
  block: 'input',
  mix: [
    {
      block: 'i-glue', 
      elem: 'model-field', 
      mods: {type: 'input'}, 
      js: {name: 'foo'}
    },
    {
      block: 'i-glue', 
      elem: 'model-field', 
      mods: {type: 'mod'}, 
      js: {name: 'bar', mod: 'disabled', block: 'input'}
    }
  ]
}

На самом деле он и добавляет оба, но второй (type: 'mod') не получает правильных параметров, т.к. в onclick соответствующего DOM-элемента попадет такая конструкция:

return {
  "i-glue__model-field":{
    "name":"foo"
  }
}
maxatwork commented 10 years ago

Нашел, как можно:

{
  block: 'input',
  mix: [
    {
      block: 'i-glue', 
      elem: 'model-field', 
      js: [
        {type: 'input', name: 'foo'},
        {type: 'mod', name: 'bar', mod: 'disabled', block: 'input'}
      ]
    }
  ]
}