【问题标题】:Can I use another prefix instead of `ng` with angularjs?我可以在angularjs中使用另一个前缀而不是`ng`吗?
【发布时间】:2012-04-02 13:34:39
【问题描述】:

我是 angularjs 的新手。当我阅读文档时,我发现它使用ng 作为属性前缀:

<body ng:controller="PhoneListCtrl">
  <ul>
    <li ng:repeat="phone in phones">
      {{phone.name}}
      <p>{{phone.snippet}}</p>
    </li>
  </ul>
</body>

我想知道是否可以将其修改为另一个单词,例如x?因为我认为xng 更容易输入。

【问题讨论】:

  • 你可以 fork 它,用 'x' 替换 'ng',然后执行 git rebase ;-)

标签: angularjs


【解决方案1】:

v1.0.0rc1开始,这些都是等价的:

<div ng-show="isVisible">Using ng-show</div>
<div ng:show="isVisible">Using ng:show</div>
<div data-ng-show="isVisible">Using data-ng-show</div>
<div x-ng-show="isVisible">Using x-ng-show</div>
<div class="ng-show:isVisible">Using class="ng-show:isVisible"</div>

这是工作小提琴: http://jsfiddle.net/vojtajina/Fgf3Q/

然而,这背后的主要原因是允许有效的 html。因此,您可以为自定义指令使用 x-* 前缀,但不适用于 Angular 指令。

查看docs 了解更多信息。

【讨论】:

  • 虽然这不是我想要的——我希望使用x-show而不是ng-show,但是我了解更多关于angularjs的知识,谢谢!
  • 我有点期望 x:* 可以工作(在设置 xmlns:x="angularjs.org" 之后),但它没有...
  • data-x-mydirective 有效吗? (x-mydirective 不是有效的 HTML5?)
  • data-mydirective 工作并且是有效的 html5,你为什么需要 data-x-mydirective
  • 也就是说,我认为应该有人创建一个更好的 html 验证器来理解 Angular 的东西。使用data-* 会使模板变得糟糕,只会导致“跳过”这些属性为有效。实际验证 Angular 属性并产生诸如“你拼错 ng-rrepeat”之类的错误会更好。这并不简单,但有人应该尝试一下;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
  • 2016-08-21
  • 1970-01-01
  • 2016-08-31
相关资源
最近更新 更多