arturadib / agility

Javascript MVC for the "write less, do more" programmer
http://agilityjs.com
MIT License
542 stars 70 forks source link

data-bind with class should not clobber the agility class of root element #107

Open cdrubin opened 11 years ago

cdrubin commented 11 years ago

First-off: Thank you for a great framework! :)

var $$item = $$( {
  model: {
    type: 'document' 
  }, 
  view: { 
    'format': '<li data-bind="name, class=type">', 
    'style': '& { background-color: green }'
  } 
} );

should result in this HTML :

<li class=".agility_X document" data-bind="name, class=type"></li>

but instead clobbers the .agility_X class and results in :

<li class="document" data-bind="name, class=type"></li>
cdrubin commented 11 years ago

I see even more clobbering happening:

var $$item = $$( {
  model: {
    button_text: 'submit' 
  }, 
  view: { 
    'format': '<a data-bind="button_text"><img src="something.png" /></a>'
  } 
} );

should result in the HTML :

<a data-bind="button_text"><img src="something.png" />submit</a>

but instead clobbers the child element and results in :

<a data-bind="button_text">submit</a>

Is this intentional? Same for the first issue, is this somehow desirable and I am missing the purpose?

robertjustjones commented 11 years ago

@cdrubin, yes, I believe this second example is intentional. Try moving the data-bind to a <span> inside the <a>.