当前位置: 首页 > 面试题库 >

AngularJS:ng-click是“一种好的做法”吗?为什么AngularJS中没有ng- {event}?

金亦
2023-03-14
问题内容

我才刚刚开始学习AngularJS,并尝试了一些AngularJS的概念。如果有人可以向我解释一些观点,那就太好了。

  1. 我知道从ng-click技术上讲,这与onclick不同,但是两者都放在标记中。我以为那是“坏习惯”?如果大多数人说这是“不好的”,为什么这是AngularJS的核心概念之一?我认为最好从JavaScript中选择DOM元素,而不要在标记中放置逻辑。

  2. 如果ng-click是对AngularJS中的click事件做出反应的正确方法,我应该如何处理其他DOM事件?我看到还有其他类似的指令ng-mouseover,但并非所有DOM事件都具有等效的AngularJS。我将如何处理AngularJS中的’drop’事件(因此采用AngularJS方式-而不是常规方式)?要清楚:我想将文件拖到我的webapp中。

非常感谢Pipo


问题答案:

如果大多数人说这是“不好的”,为什么这是AngularJS的核心概念之一?

好吧,那些真正喜欢UnobtrusiveJavaScript的人可能会说这很糟糕。Angularian(以及那些具有弹性背景的人)在更具说明性的方法中看到了价值。


Angular是基于这样的信念构建的:在构建UI和将软件组件连接在一起时,声明性代码比命令性要好。通过声明性地描述UI应随应用程序状态的变化而变化,您将摆脱底层DOM操作的困扰。任务-
概述文档

另请参见Bootstrap,Angular.js和Ember.js中使用的数据属性选项是否与UnobtrusiveJavascript原则冲突?

我应该如何处理其他DOM事件?

编写您自己的指令以侦听它们(或找到其他人已经编写的指令)。Angular使您能够编写自己的指令来扩展浏览器的功能。

更新 :在下面的评论中,蒂姆·斯图尔特提到了AngularUI的ui-event,它使您可以将回调绑定到Angular本身不支持的任何事件。



 类似资料:
  • 问题内容: 从第一种观点看,似乎可以传递一些数据作为方法的参数,应在按下按钮期间调用。 但我看不出有什么区别。 我遵循了代码片段: HTML 要么 JS 两者都可以。 谢谢, 问题答案: 他们是一样的东西。您可以用来制作有效的html。

  • 问题内容: 我已经多次听到在HTML 中使用JavaScript事件(例如)是不正确的做法,因为它不利于语义。我想知道不利之处以及如何解决以下代码? 问题答案: 您可能正在谈论简洁的Javascript,看起来像这样: 中央javascript文件中的逻辑如下所示: 优点是 行为(JavaScript)与表示(HTML)分开 没有语言的混合 您正在使用像jQuery这样的javascript框架,

  • 问题内容: 我已经多次听到在HTML 中使用JavaScript事件(例如)是不正确的做法,因为它不利于语义。我想知道不利之处以及如何解决以下代码? 问题答案: 您可能正在谈论简洁的Javascript,看起来像这样: 中央javascript文件中的逻辑如下所示: 优点是 行为(JavaScript)与表示(HTML)分开 没有语言的混合 您正在使用像jQuery这样的javascript框架,

  • 问题内容: 每位JS意见领袖都说,扩展本机对象是一种不良做法。但为什么?我们会获得出色的表现吗?他们是否担心有人会以“错误的方式”这样做,并向中添加可枚举的类型Object,实际上破坏了任何对象上的所有循环? 以TJ Holowaychuk的should.js为例。他向其中添加了一个简单的吸气剂,Object并且一切正常(源代码)。 这真的很有意义。例如,可以扩展。 是否有反对扩展本机类型的论点?

  • 问题内容: 正在做类似的事情 认为应该避免的不良做法? 我个人认为的执行(或或者,这不是点)调用应该只添加一个“链接”到其他功能/对象,并不会执行自身的东西。换句话说,我认为需求的行为与其他oo语言的导入/使用非常相似。 我上面编写的示例相当简单,但显然我也在针对各种“副作用”进行编写。我经常在某些包含的文件中发现定义函数或会话技巧,这是我经常发现的其他弊端。 问题答案: 是的,恕我直言, 除非有

  • 我见过很多次scala代码使用Option(对于简单值)或[List[Error],T]来处理错误。 这为这样的代码提供了位置 这会产生一个不太好的代码嵌套,迫使您处理每一步的失败,并迫使您让所有函数返回一个[...] 所以我想知道 > 在scala(或一般的函数式编程)中不鼓励使用异常 使用它们有任何缺点(关于不可变性或代码并发性) 异常与原理或函数式编程有些冲突 你可以想出一个更好的方法来编写