Angular学习-指令入门

与世无争的帅哥 提交于 2020-01-15 02:05:16

 

 

1.指令的定义

从用户的角度来看,指令就是在应用的模板中使用的自定义HTML标签。指令可以很简单,也可以很复杂。AngularJS的HTML编译器会解析指令,增强模板的功能。也是组件化未来的发展趋势,目前HTML5中也加入了很多新标签,但是在实际业务开发过程中,有很多复用的模板,加上复用的交互效果,可以将其编写为AngularJS的指令,开发工程师可以在同一个项目,或多个项目中使用,实现开发一次,到处使用的目标。

2.内置指令和自定义指令

AngularJS内部指令都是ng-diretivename这种,以ng-开头。可以通过 https://docs.angularjs.org/api/ng/directive
查看AngularJS的指令。在实际开发中,常用的有以下几个:

ngApp

ngController

ngClass

ngClick

ngShow和ng-hide

ngRepeat

ngSubmit

3.第一个指令

编写一个第一个指令,输出Hello AngularJS Diretive.

index.html

<html ng-app="app">

<head>
<title>AngularJs First Diretive</title>
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"></link>
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootswatch/3.3.5/cosmo/bootstrap.min.css" />
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" />
   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
  <script src="https://code.angularjs.org/1.5.7/angular.js"></script>
  <script src="script.js"></script>
</head>

<body ng-controller="mainCtrl">
  <hello-world></hello-world>
</body>

</html>

script.js

var app=angular.module('app',[]);
app.controller('mainCtrl',function($scope){
  $scope.message="Learning Angularjs";


});

angular.module('app').directive('userInfoCard',function(){
  return {
    template:"Hello World. I am an Angularjs Diretive.",
    restrict:"EA",
    replace:true
  }
})

运行效果如下:

4.总结

在AngularJS中,指令非常的重要。指令是AngularJS和其他大多数JavaScript客户端框架的区别所在,也是未来Web开发组件化趋势所在。有了指令,无需编辑一大段代码定义模型;有了指令,AngularJS的模型和视图得到了建好,从而让开发者可以快速高效的开发强大的应用。

参考网址

1.https://docs.angularjs.org/guide/directive

 

本文基于 

 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议发布,欢迎转载,演绎,但是必须保留本文的署名liminjun88(包含链接http://www.cnblogs.com/liminjun88/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系 个人主页 。

1.指令的定义

从用户的角度来看,指令就是在应用的模板中使用的自定义HTML标签。指令可以很简单,也可以很复杂。AngularJS的HTML编译器会解析指令,增强模板的功能。也是组件化未来的发展趋势,目前HTML5中也加入了很多新标签,但是在实际业务开发过程中,有很多复用的模板,加上复用的交互效果,可以将其编写为AngularJS的指令,开发工程师可以在同一个项目,或多个项目中使用,实现开发一次,到处使用的目标。

2.内置指令和自定义指令

AngularJS内部指令都是ng-diretivename这种,以ng-开头。可以通过 https://docs.angularjs.org/api/ng/directive
查看AngularJS的指令。在实际开发中,常用的有以下几个:

ngApp

ngController

ngClass

ngClick

ngShow和ng-hide

ngRepeat

ngSubmit

3.第一个指令

编写一个第一个指令,输出Hello AngularJS Diretive.

index.html

<html ng-app="app">

<head>
<title>AngularJs First Diretive</title>
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"></link>
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootswatch/3.3.5/cosmo/bootstrap.min.css" />
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" />
   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
  <script src="https://code.angularjs.org/1.5.7/angular.js"></script>
  <script src="script.js"></script>
</head>

<body ng-controller="mainCtrl">
  <hello-world></hello-world>
</body>

</html>

script.js

var app=angular.module('app',[]);
app.controller('mainCtrl',function($scope){
  $scope.message="Learning Angularjs";


});

angular.module('app').directive('userInfoCard',function(){
  return {
    template:"Hello World. I am an Angularjs Diretive.",
    restrict:"EA",
    replace:true
  }
})

运行效果如下:

4.总结

在AngularJS中,指令非常的重要。指令是AngularJS和其他大多数JavaScript客户端框架的区别所在,也是未来Web开发组件化趋势所在。有了指令,无需编辑一大段代码定义模型;有了指令,AngularJS的模型和视图得到了建好,从而让开发者可以快速高效的开发强大的应用。

参考网址

1.https://docs.angularjs.org/guide/directive

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!