Page 64 - AngularJS权威教程
P. 64

44  第 8 章  指令简介


                 超链接标签知道当自己的href属性被设置为http://google.com之后,如果用户点击这个超
             链接,它应该修改地址栏的URL并加载Google的首页。
                 而按钮标签则完全忽略href属性,并不会在被点击时有同样的行为。

                 因此,修改地址栏的URL并将你带到一个新的页面是超链接的预置行为,而不是按钮的预置
             行为。
                 最后,两个标签在设置了title属性时则有相同的行为:当用户将鼠标悬停在元素上时会出
             现一个提示框。

                 <a href="http://google.com"
                     title="click me">
                     Click me to go to Google
                 </a>
                 <button type="submit"
                     title="click me">Click me</button>
                 总地来说,浏览器会渲染HTML元素的样式和行为,这个能力是Web强大功能的基础之一。

                 任何一个浏览器厂商,无论是Google或Microsoft都尽量遵循同样的HTML标准,以此来保证
             Web编程在跨设备和操作系统时的一致性。

                     老版本的IE浏览器并没有遵循标准的HTML定义,因此我们需要一些技巧才能让其
                 正常工作。更多内容请查看第30章。

                 近来出现了很多新的HTML标签,它们是HTML5标准的一部分。例如video标签可以定义一
             个视频、电影剪辑或流视频:

                 <video href="/goofy-video.mp4"></video>
                 这些HTML5的新标签在比较新的浏览器中可以正常工作,但是IE8或更早的IE浏览器都没有
             对其提供支持。


             8.1  指令:自定义 HTML 元素和属性

                 基于我们对HTML元素的理解,指令本质上就是AngularJS扩展具有自定义功能的HTML元素
             的途径。例如,我们可以创建一个自定义元素,它实现了<video>标签的功能并且能在所有浏览
             器中工作:

                 <my-better-video my-href="/goofy-video.mp4">
                 Caneventaketext</my-better-video>
                 注意,这个自定义元素使用了特殊的开始和闭合标签my-better-video,以及my-href这个
             自定义属性。

                 为了让这个标签更有用,可以将浏览器默认的video标签重载,用下面这种写法代替它:

                 <video my-href="/goofy-video.mp">
                     Can still take children nodes
                 </video>
                 正如我们看到的那样,指令可以和其他指令或属性组合在一起使用,这种组合使用的方式叫
   59   60   61   62   63   64   65   66   67   68   69