Angular.js基础学习之初始化


Posted in Javascript onMarch 10, 2017

一、绑定初始化,自动加载

通过绑定来进行angular的初始化,会把js代码侵入到html中。

ng-app是angular的一个指令,代表一个angular应用(也叫模块)。使用ng-appng-app=""来标记一个DOM结点,让框架会自动加载。也就是说,ng-app是可以带属性值的。

<body ng-app="myApp">
 <div ng-controller="myCtrl">
  {{ hello }}
 </div>
 <script type="text/javascript">
  var myModule = angular.module("myApp",[]);
  myModule.controller("myCtrl",function($scope){
   $scope.hello = "hello,angular!";
  });
 </script>
</body>

二、手动初始化

如果想对对初始化有更多的控制权,可以采用自定义手动引导方法初始化代替angular的自动初始化。比如你需要在angular编译模板之前做一些事情,比如改变模板某些内容。

Angular中也提供了手动绑定的api——bootstrap,它的使用方式如下:

angular.bootstrap(element, [modules], [config]);

其中第一个参数element:是绑定ng-app的dom元素;

  • modules:绑定的模块名字
  • config:附加的配置

值得注意的是:

  • angular.bootstrap只会绑定第一次加载的对象。
  • 后面重复的绑定或者其他对象的绑定,都会在控制台输出错误提示。
<html>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
<body id="body">
 <div ng-controller="myCtrl">
  {{ hello }}
 </div>
 <script type="text/javascript">
  var app = angular.module("bootstrapTest",[]);
  app.controller("myCtrl",function($scope){
   $scope.hello = "hello,angular from bootstrap";
  });
  
  // angular.bootstrap(document.getElementById("body"),['bootstrapTest']);
  angular.bootstrap(document,['bootstrapTest']);
 </script>
</body>
</html>
<html>
 
 <head>
 <script src="angular.js"></script>
 <script>
 
 // 创建moudle1
 var rootMoudle = angular.module('moudle1', []);
 rootMoudle.controller("controller1",function($scope){$scope.name="aty"});
 
 // 创建moudle2
 var m2 = angular.module('moudle2', []);
 m2.controller("controller2",function($scope){$scope.name="aty"});
 
 
 // 页面加载完成后,再加载模块
 angular.element(document).ready(function() {
  angular.bootstrap(document.getElementById("div1"),["moudle1"]);
  angular.bootstrap(document.getElementById("div2"),["moudle2"]);
 });
 
 </script>
 
 <head>
 <body>
 <div id="div1" ng-controller="controller1">div1:{{name}}</div>
 <div id="div2" ng-controller="controller2">div2:{{name}}</div>
 </body>
 
</html>

总结

以上就是关于angular.js初始化的全部内容了,希望本文的内容对大家学习或者使用Angular.js能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Js数组的操作push,pop,shift,unshift等方法详细介绍
Dec 28 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
Jan 14 Javascript
jQuery快速高效制作网页交互特效
Feb 24 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
May 03 Javascript
react实现一个优雅的图片占位模块组件详解
Oct 30 Javascript
JavaScript callback回调函数用法实例分析
May 08 Javascript
JavaScript实现仿Clock ISO时钟
Jun 29 Javascript
js中对象与对象创建方法的各种方法
Feb 27 Javascript
javascript面向对象三大特征之继承实例详解
Jul 24 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
Sep 23 Javascript
Javascript如何递归遍历本地文件夹
Aug 06 Javascript
js实现自定义滚动条的示例
Oct 27 Javascript
js实现返回顶部效果
Mar 10 #Javascript
Vue.directive自定义指令的使用详解
Mar 10 #Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
Mar 10 #Javascript
微信小程序 图片加载(本地,网路)实例详解
Mar 10 #Javascript
微信小程序 页面传值详解
Mar 10 #Javascript
详解Vue生命周期的示例
Mar 10 #Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 #Javascript
You might like
实用函数9
2007/11/08 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
php利用单例模式实现日志处理类库
2014/02/10 PHP
深入理解PHP中的global
2014/08/19 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
两款万能的php分页类
2015/11/12 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
JavaScript 输入框内容格式验证代码
2010/02/11 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
2014/08/20 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
JS验证不重复验证码
2017/02/10 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
node文字生成图片的示例代码
2017/10/26 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python实现迭代时使用索引的方法示例
2018/06/05 Python
Python按钮的响应事件详解
2019/03/04 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
酒店司机岗位职责
2013/12/14 职场文书
研讨会主持词
2014/04/02 职场文书
庆国庆活动总结
2014/08/28 职场文书
2015年度村委会工作总结
2015/04/29 职场文书