ReactAngular

一个重大的消息——本站的 Angular 版本不再继续开发,将会用 React 「重新」开发

因为我实在无法忍受使用 Angular 这当孙子一般的体验了。

Colliot5/12/2018, 8:08:01 AM

Angular 版本的源码会在彻底用 React 重写完之后开放,作为血与泪的纪念,作为反面教材。此生不再碰 Angular。

Colliot5/12/2018, 8:10:18 AM

Angular 版本的源码会在彻底用 React 重写完之后开放,作为血与泪的纪念,作为反面教材。此生不再碰 Angular。

by Colliot

现在计划可能又变,可能还可以抢救一会儿……

Colliot5/13/2018, 1:21:35 PM

我很讨厌 Angular,但越是讨厌,就越要去战胜它。

Colliot7/1/2018, 10:40:55 PM

真香 zsbd zsbd

chenzheng12/9/2018, 8:10:01 AM

现在计划可能又变,可能还可以抢救一会儿……

by Colliot

那你的样式怎么办,还用 material design?

chenzheng12/9/2018, 8:12:32 AM

能讲述一下讨厌Angular的原因吗?

YangKeao1/12/2019, 1:13:49 AM

能讲述一下讨厌Angular的原因吗?

by YangKeao

Angular 作为一个框架,限制很多。特别是它的编译工具,你随便搞一个组件不引用(比如只在 storybook 中用到),它生产模式 AOT 的时候都会报说,你没有在某个模块里引用这个组件。

在 storybook 里,它只能这么写:

  .add(
    'Registration Dialog',
    () => ({
      component: LogindialogComponent,
      moduleMetadata: {
        imports: [HttpModule, RouterTestingModule],
        schemas: [],
        declarations: [AppLeftNavTopComponent, AppLeftNavBottomComponent],
        providers: [],
      },
      props: {
        resources: resources.zh,
        language: 'Chinese',
        dialogShow: true,
      },
    }),
  )

这时候不能根据 component 的定义对 props 进行类型检查——它的 props 是用 @Input() public someProp: boolean = false; 这样的带有 decorator 的类属性的语法定义的。

另外,如果你想搞 parent 组件(比如在 storybook 中用一个容器包裹住你的组件,当然也可以不在 storybook 中),如果是 React,你可以简单地这么写:

return <div style={{height: 500}}>
  <YourChildComponent />
</div>

但是在 Angular 里,居然是无法实现类似的效果的。Angular 的视图依赖的是模板,但你也无法像 Vue 那样简便地用一个有 template 字段的对象定义一个组件,而必须用一个类。这样就回到了之前的问题,AOT 的时候会报这个类没有被引用……

实际上它可以通过 NgComponentOutlet 实现动态渲染一个组件,但是这个时候传 props 变得非常麻烦。我看见的解决方案都是在 child 组件的构造函数里注入这些参数的(因为这个 NgComponentOutlet 只能提供这样的 API),非常地反人类。

Colliot1/13/2019, 7:52:56 AM

huge还在开发新功能马?

ice10001/19/2019, 8:55:39 PM

虎哥变成孙子了,是吗?

ice10001/31/2019, 12:24:10 AM

我终于还是开始了。弃绝 Angular。

Colliot2/23/2020, 2:38:08 PM

虎哥终于拒绝做孙子了吗

ice10009/23/2020, 12:20:15 PM

这个网站现在还是 Angular 的吗?

ice100012/17/2023, 3:16:06 PM

我们需要看合订本,是吗?

https://colliot.org/zh/2018/01/%e7%94%a8-angular-%e5%bc%84%e4%ba%86%e4%b8%80%e4%b8%aa%e8%83%8c%e5%8d%95%e8%af%8d%e7%9a%84%e7%bd%91%e7%ab%99-eliseos-org/

虎哥名人名言:

整个弄下来的感想就是,Angular 是真的好用,Angular 生态是真的不错,universal 完全按官方走一遍就活了,现在线上运行的版本就是 universal 的,右键查看源码可以看到是渲染好的页面发过来的。angular cli 一路可以 generate 到底,基于 NgModule 的路由懒加载也是开箱即用,不需要任何配置,非常美妙。

ice100012/17/2023, 3:16:42 PM

Preview:

Cancel

Elsewhere

fjcfff replied to 阿里巴巴数学竞赛选错赛道了

给定标准布朗运动 Bt 假设 s 是个停时,那么 B′t={Bt2Bs−Btif t≤sif t>s 是标准布朗运动。

Colliot replied to 阿里巴巴数学竞赛选错赛道了

弱反射原理 mathbb{P}{M_t ge a} = 2mathbb{P}{B_t ge a},其中 M_t = sup_{sin[0,t]}B_s 是布朗运动 B_t 在 [0,t] 内达到的最大值。 它可以写作mathbb{P}{B_t ge a}=dfrac{1}{2}mathbb{P}{M_t ge a},这个在直观上很容易理解,因为 B_t ge a 必然有 M_t ge a,而 M_t 第一次到达 a 之后,后续任何点大于或小于 a 的概率都是 1/2。 强反射原理 给定标准布朗运动 B_t,假设 s 是个停时,那么

begin{equation} B'_t= begin{cases} B_t & text{if } t le s 2B_s-B_t & text{if } t > s end{cases} end{equation}

仍是标准布朗运动。 这实际上就是「第一次到达 a 之后,后续任何点大于或小于 a 的概率都是 1/2」的严格表述。所以后者可以推出前者。

hugify replied to 阿里巴巴数学竞赛选错赛道了

感觉跟 Brownian motion 或者说 Wiener process 的 reflection principle 有关?

hugify replied to 用类型系统描述实数的精髓是什么?

找到了相关文章 Formalising Real Numbers in Homotopy Type Theory,让我来看一看。

hugify replied to 用类型系统描述实数的精髓是什么?

怎么用类型系统表述戴德金分割呢?

ice1000 replied to 用类型系统描述实数的精髓是什么?

我现在懂了,就是戴德金分割

ice1000 replied to 为什么不能对 C++ 的语法进行简化?

不成立。现在的语法也有这样的歧义

ice1000 replied to 净土还活着吗zsbd

虎哥居然还在回复,神奇