【问题标题】:Angular2 - creating multiple variable declarations in component class vs directly using object in templateAngular2 - 在组件类中创建多个变量声明与直接在模板中使用对象
【发布时间】:2020-08-13 14:41:43
【问题描述】:

我有一个从 http 请求中检索大型嵌套对象的组件。在我的组件类中,我声明了数百个从该对象推断数据的变量,然后将这些属性插入到其模板中。

这导致我的组件类有数百行代码,仅来自声明和分配的这些属性。只在模板中使用对象本身会更好吗?下面是一个例子来演示:

假设我有一个非常大且嵌套的 cuisines 对象,该对象来自服务。使用我目前的方法,在组件类中,我为我需要的各个属性声明变量:

let italianBreakfast = cuisine.data.breakfast.italian; let ... let ... let ...

然后在模板中插入:<div>{{italianBreakfast}}</div>

我修改后的策略是简单地使用模板中的对象:

<div>{{cuisine.data.breakfast.italian}}</div>

这样做,我的模板中大括号之间的文本会变大,但我会从中受益,因为我不再声明属性来在我的组件类中存储对象值,这将节省数百行代码。哪个会更好,是否有最佳实践?

【问题讨论】:

    标签: javascript angular typescript angular2-template


    【解决方案1】:

    您可以在这个大组件中创建较小的组件,并将cuisines 对象的特定部分作为@Input 属性传递给它们。

    【讨论】:

    • 很遗憾,我做不到。在我的模板中使用对象引用对象属性有什么缺点吗?
    • 我不会说有缺点。在我看来,这种方法比声明数百个变量要好。这只是关于该对象有多大以及您将在模板中使用多深的嵌套属性,这是否会影响可读性。不过,为什么不能使用更小的组件?
    • 感谢您的回复。无法创建更小的组件 b/c 这不是我的项目 :)
    猜你喜欢
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多