微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 在dojo中以编程方式与声明性创建的小部件之间的区别?

我知道在dojo中我们可以用两种方式创建任何小部件,

>以编程方式
>以声明的方式

要以编程方式创建窗口小部件,我们将使用JavaScript,而对于声明性,我们将在HTML标记中使用dojo属性.

有人能解释一下他们之间有什么区别吗?

一个最受欢迎,为什么?

解决方法:

区别

嗯,两种方式之间都存在一定的差异.在声明方式中,所有配置都基于HTML属性,如dojo-data-props,还有一些其他属性,如value,title,….因此,您创建的DOM节点实际上充当某种占位符.

当您通过编写JavaScript代码创建窗口小部件时,您将必须提供您将附加它的DOM节点,但最大的区别是它不会从该DOM节点复制HTML属性.这里的DOM节点仅用作容器,而不是占位符.

首选

没有最优选的解决方案,它通常取决于您的应用程序的要求以及您认为最清洁的开发方式.

我个人喜欢声明性标记,因为它最终是用户界面的一部分.但是,你可以尽可能地去.我已经看到人们也以声明的方式创建商店和小部件事件处理程序,但我个人更喜欢用JavaScript编写它们,因为它们不是用户界面的一部分.

还有其他原因可能会改变您创建小部件的方式.例如,声明性标记一个最大缺点是您需要解析页面(例如使用parSEOnLoad).这通常比以编程方式创建小部件慢.您可以通过仅解析某些DOM节点来改进它,但之后您必须编写其他代码(并且它仍然不会更快).

只是一个小小的音符;这并不意味着声明方式很慢.这只是一个应该执行的额外操作,因此,它有点慢,但最终用户甚至可能看不到差异.

然而,声明方式的一个优点是,在加载页面时,最终用户能够看到占位符.如果你选择了正确的占位符(例如,< select>用于dijit / form / FilteringSelect和dijit / form / ComboBox),最终用户至少会看到一些东西.如果以编程方式创建所有内容,最终用户将看到一个空白页面,直到执行JavaScript代码.

因此,如果性能是其中一项要求,那么您可以选择以编程方式创建它们.如果您希望在表示层与业务逻辑分离的情况下分离代码,那么我建议使用声明方式.

但最终,两种解决方案都很好.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐