angularjs中的ng-click和data-ng-click有什么区别?

时间:2013-05-12 09:17:30

标签: angularjs

从第1个视图看,似乎data-ng-click可以传递一些数据,因为在按下按钮时应该调用方法的参数。

但我没有看到差异。

我已经关注了代码片段:

HTML

<input 
    type="button" 
    value="Fess"
    ng-click="toggle(2)">

OR

<input 
    type="button" 
    value="Fess"
    data-ng-click="toggle(2)">

JS

$scope.toggle = function (valueS) {
    alert(valueS);        
}

两者都有效。

谢谢,

4 个答案:

答案 0 :(得分:34)

他们是一回事。您可以使用data-ng-click制作有效的HTML。

答案 1 :(得分:12)

来自angular docs on directives

  

指令有诸如ngBind之类的骆驼名称。该指令可以   通过将驼峰案例名称翻译成蛇案例来调用   特殊字符:, - 或_。可选地,指令可以是   以x-或数据为前缀,使其符合HTML验证器。这里   是一些可能的指令名称列表:ng:bind,ng-bind,   ng_bind,x-ng-bind和data-ng-bind。

出于实际目的,将它们排除在外是完全没问题的。只是如果你通过html验证器服务运行它,它将不会作为complliant传递。

答案 2 :(得分:3)

HTML5能够在所有HTML元素上嵌入自定义数据属性

这些新的自定义数据属性由两部分组成:

属性名称 数据属性名称必须至少为一个字符长,并且必须以&#39; data - &#39;为前缀。它不应包含任何大写字母。

属性值 属性值可以是任何字符串。

<li data-spacing="30cm" data-sowing-time="February to March">Celery</li>

来源:http://html5doctor.com/html5-custom-data-attributes/

答案 3 :(得分:1)

使用with和不使用Form时发现差异。

当我的元素在表单中时,它们的行为相同。

当我对不在表单中的元素使用data-ng-click时,Click事件不会发生。