如jquery中,HTML页面中DOM元素不需要写事件代码,可以直接把代码写到JS文件中,
$("#aaa").on({
click:function(){},
mouseover:function(){}
});
$(document).on("click","#aaa",function(){});
并且同一个事件可以绑定多个方法,请问angularJS是否有类似的方法或者思路,把方法写在HTML页面维护起来不大方便。十分感谢!
http://stackoverflow.com/questions/20906804/angular-js-and-unobtrusive-javascript
http://www.quora.com/Is-AngularJS-moving-away-from-the-concept-of-unobtrusive-Javascript
so和quora上有人讨论类似的问题,unobtrusive javascript风格似乎被他们批判了一通。
很明确,不能,angularjs的风格就是通过指令扩展html的。它在页面加载完成之后会解析html的内容,取出对应的指令,进行解析,然后执行相应的操作。其实你可以把它的指令当做html元素就好。如果你接受不了,那可以不适用,只是习惯问题。
MVVM目的是让view controller不再耦合,angular这样的设计正好是做到了这一点,并且也有建议不要在controller里出现dom操作,目的也是一样的;
说到维护我觉得反而是更容易的,html不用关心controller,controller不用关心html,大家需要关心的只是model;html要什么,controller能给什么,这样做也更有利于明确分工。