angular的依赖注入机制相比于vue或react有什么优势?

angular 有类似下面这样通过构造函数进行的依赖注入


import { HeroService } from './hero.service';

export class HeroListComponent {
  heroes: Hero[];
 
  constructor(heroService: HeroService) {
    this.heroes = heroService.getHeroes();
  }
}

和在vue或者react中通过import直接导入模块有什么区别?
依赖注入强调可以外部中获得它的依赖,import不也是从外部获得依赖吗?看不出
angular中所强调的的依赖注入相比vue或者react到底有什么优势?

阅读 6.1k
4 个回答

依赖注入也是一种模式,主要用于解耦,除此之外也很容易实现组件替换,但缺点是写出来的程序不好懂,因为基本上是使用接口在搭业务框架,然后逐个实现接口来完成业务逻辑实现。

所以学习 DI 的关键在于要了解接口化设计,各种 DI 框架所做的事情无非也就是为接口绑定实现,然后按接口定义自动组装各类实现而已。

另外 import 是静态导入,相应的还有 import() 动态导入,ES 中动态导入的标准快定板了,TypeScript 中已经实现。不过他们都跟依赖注入没有直接关系。

建议你多看看 DI 方面的资料,对这个概念熟悉一些了再来研究怎么用。

让后端人员有熟悉的感觉.好上手,前后端都会玩了

依赖注入这个概念不限于框架。angular只是在框架内置,在API强调,并且写到了教程里。你可以用React的context,或只用JS做到差不多的事。

我觉得你不理解的是依赖注入本身,或为什么静态import不是依赖注入

我对VUE不是很熟悉;但说一下React&Angular。

React 的高阶论,Angular 的依赖注入。其实二者的目标都是为了组件解耦

而这一目标的实现结果应该是组件够简洁、结构合理、易维护、易测试。

对于 React 一个非常好的示例 antd design for React,很容易基于一些现有的高价组件构建自己UI组件库。

对于 Angular 内置依赖注入实现,而且是核心,你可以注入一个类、服务、组件等,相比较 React 会更灵活一些。

二者都有一个特点,你可以利用一些基础性组件构建复杂的组件,就像是搭积木一样。而对于依赖注入还有更多的好处,比如把业务逻辑进一步合理的分离,配合 Rxjs,你会让对开发有全新的认知。

Angular 相比较 React 主要还是基础性组件还非常稀缺。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题