`

绝不推荐使用EmberJs的理由

阅读更多

理由很简单,EmberJs 必须把整个页面都用EmberJs写,不能自己写内容在Body中。看个最简单的例子:

<!doctype html>
<html>
<head>
	<meta charset='UTF-8'/>
</head>
<body>
    <h1>页头</h1>
    <script type="text/x-handlebars" data-template-name='index'>
		Hello
	</script>
	<div>页尾</div>
	<script src="../js/libs/jquery-1.11.0.js"></script>
	<script src="../js/libs/handlebars-v1.3.0.js"></script>
	<script src="../js/libs/ember.js"></script>
	<script src="../js/libs/ember-data.js"></script>
	<script src="../js/libs/localstorage_adapter.js"></script>
	<script type="text/javascript">
	    window.MyApp=Ember.Application.create();
		MyApp.ApplicationController=Ember.Controller.extend({
			
		})
	</script>
</body>
</html>

 

这个例子显示结果就是:

页头
页尾
hello

 

啥?hello 不是在页头和页尾之间?是的,因为EmberJS用的是script方式的模板方式,emberJs没有一种方式把模板插入到传统的html的指定的位置。

 

这样就带来极大的不便: 所有以前做的html内容,都得改写成EmberJS的模板方式。假如现有的项目想用emberjs ,那简直就是灾难,要改所有的文件!!!!因为,一般的项目都会自己有一个HTML的布局文件,这个布局文件影响到整个项目的页面,如果要用emberjs,首先就要改这个布局文件,带来的连锁反应就是各个内容的页面也得跟着改成emberjs 的,而且还得一次性都改完才能发布,而不能渐进式的改动。这点与backbone,AngularJs 比,简直就是致命的缺点。

 

 

记得看过一篇评测文章,说emberJs 最好。@#@¥@$.....我想,写这个评测的人,不是脑子进水了,就是emberJS的人自己吹的。害我多费了一个星期去研究。。。画个圈圈,咒几句。。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics