我做了很多使用jQuery的DOM操作。 切换到角度已经大大地清理了我的代码。这里有浮现在脑海中的几件事情:
做琐碎的东西,就在HTML
一个简单的事实,你可以做很多琐碎的事情就在HTML摆脱很多JS的码。下面的jQuery代码要求我观察复选框的更改,而不是根据选中的状态,我必须显示或隐藏下面的范围。使用angularjs,不需要一行自定义js。
<input type="checkbox" ng-model="show"/>
<span ng-show="show">show me when checkbox is checked</span
没有更多的在你的js代码
每个HTML现在比你会发现自己循环槽的阵列,在你的js添加表行或立的,而不是推EM到DOM。您基本上在您的JS文件中编写HTML。使用ng-repeat
可以保持在HTML模板文件和环槽的阵列,就在你想建立一个表/表/等
<li ng-repeat="user in users">{{ user.name }}</li>
功能是在你的HTML更清晰
因为jQuery在javascript代码中使用选择器,我经常发现自己正在搜索按钮的实际功能。使用角度可以使用ng-click来调用一个函数。这使得看到HTML时实际发生的事情变得更加清晰。
<button ng-click="recalculateUsage()">recalculate</button>
没有更多的占位符
另一大好处是,显示你的模板数据可以作为{{ user.name }}
一样简单,而不是创建一个占位符,你比填充使用jQuery。 $('#userName').html('my new content')
。
指令
指令是清理你的代码的另一个好方法。很多使用过的元素可以存在于自己的js/template文件中,并且可以以简单的方式插入到HTML中。
好处的更多细节,同时也为您提供了JSON更容易获得/ API等... – Schuere
此外,它本质上是通过采用模块化设计,提供服务,控制器,工厂,过滤器,指令,拦截器,提供者。大多数服务,甚至核心都很容易扩展。这使得测试你的角度应用程序变得轻而易举。然后是非常强大的承诺系统。由于它,你可以有自动重新登录,自动记录,自动错误处理和授权拦截器。而提及除数据绑定之外的其他内容+1。不过,我会补充说,jQuery可以发挥很好的角度,但应该在任何DOM操作的指令内使用。 – ste2425