Angularjs 如何从角度思考余烬

Angularjs 如何从角度思考余烬,angularjs,ember.js,Angularjs,Ember.js,我有一个新项目,我必须使用余烬。考虑到我对angular有很强的理解和经验,我如何过渡到ember。我在这两个框架方面都有丰富的经验。我也是这两个框架的贡献者(更多) 需要记住的几件事: 1.角度控制器!==余烬中的控制器。 它们是两种不同的东西。Ember中的控制器用于向从路线返回的模型添加行为。Angular中的控制器更多的是一种设置模型和与视图相关的其他业务逻辑的方法 2.从路线开始 角度不像余烬那样“以路线为中心”。在Angular中,路线甚至不是真正的需求 在余烬,你总是从一条路线开始

我有一个新项目,我必须使用余烬。考虑到我对angular有很强的理解和经验,我如何过渡到ember。

我在这两个框架方面都有丰富的经验。我也是这两个框架的贡献者(更多)

需要记住的几件事:

1.角度控制器!==余烬中的控制器。 它们是两种不同的东西。Ember中的控制器用于向从路线返回的模型添加行为。Angular中的控制器更多的是一种设置模型和与视图相关的其他业务逻辑的方法

2.从路线开始 角度不像余烬那样“以路线为中心”。在Angular中,路线甚至不是真正的需求

在余烬,你总是从一条路线开始。。。和一条“路线”。一些消除歧义:在余烬中有路由器,还有路由。路由器是您设置路由的地方(请考虑“ui.Router”或“routerProvider”)。路由是一个具有
模型
功能的类。这样做的目的是在转换之前加载视图所需的数据Route类就像Angular中“resolve”的一个不那么笨重、更健壮的版本。

3.把手很丑。。。处理它(现在) 所以你会看到到处都是
{{{{each}}
{{bind attr poop=“恶心”}
。欢迎来到车把。这就像是更丑陋的角度模板,但是您需要使用
{{bind attr}}
来绑定元素上的属性

不要惊慌有一个更好的解决方案称为HTMLBars(据称)即将推出

4.$scope或controller上的操作而不是方法 在Ember中,要绑定到一个点击事件,我认为这并不是那么简单,但基本上:

棱角的

JS

HTML

哈佛商学院

foo
5.余烬的学习曲线更陡峭 它如此难学的原因之一是它对你有很大帮助。它有一个非常非常广阔的表面积。但你会挣扎的。我保证,比你用Angular做的还要多。余烬是更新的,它不是(相当)流行,所以资源有点少。但它有很大的吸引力,总的来说,它是一个非常棒的框架

我发现这本书和那本书充满了有用的花边新闻

6.使用Ember CLI 我怎么强调都不过分。如果您刚刚开始一个新的余烬项目。你不会后悔的。它负责使用ES6模块设置构建、单元测试和编译。它将大大简化您的开发过程


除此之外,祝你好运。别灰心。学习新事物总是困难的。但是你在扩大你的技能,这是一件好事。

你会想更具体地说明你在余烬做的事情,这并不是senseNo,他真的不想。这是一个合法的问题,它有很多,因为:@BenLesh这个问题只存在于遗留目的,在我看来,如果你了解客户端MVC,并且正在从一个转换到另一个,那么请阅读文档“不要去寻找‘我需要知道的一切是什么’的答案我不知道,当我潜入一个新的余烬项目时,我很想从一个角度看一些初级读物。是的,我同意BenExplain的观点。否决票?现在尝试cli,sheesh有很多新概念。
app.controller('MyCtrl', function($scope) {
  $scope.foo = function(){ 
    console.log('wee');
  };
});
<button ng-click="foo()">foo</button>
App.MyController = Ember.Controller.extend({
  actions: {
    foo: function() {
      console.log('wee');
    },
  },
});
<button {{action 'foo'}}>foo</button>