To me, the second is smaller but less clear for hiding the logic. I'd assume both button and text are output always.
Also, the framework I described is only partially "hypothetical". [Concur-js](https://github.com/ajnsit/concur-js) gives you almost the same syntax and semantics. So you can try it out yourself :)