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中parseFloat(参数1,参数2)定义和用法及注意事项
Jan 27 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
Jun 23 Javascript
JavaScript中数组成员的添加、删除介绍
Dec 30 Javascript
JS模拟并美化的表单控件完整实例
Aug 19 Javascript
jQuery事件委托之Safari
Jul 05 Javascript
jQuery如何封装输入框插件
Aug 19 Javascript
深入理解javascript函数参数与闭包
Dec 12 Javascript
JS获取短信验证码倒计时的实现代码
May 22 Javascript
Angular.js中$resource高大上的数据交互详解
Jul 30 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
Jun 25 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
Oct 20 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
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
2008/09/10 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
php输出形式实例整理
2020/05/05 PHP
jQuery使用技巧简单汇总
2013/04/18 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
python中的代码编码格式转换问题
2015/06/10 Python
python 显示数组全部元素的方法
2018/04/19 Python
详解python中各种文件打开模式
2020/01/19 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
python 递归相关知识总结
2021/03/03 Python
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
请说出几个常用的异常类
2013/01/08 面试题
销售主管的自我评价分享
2014/01/03 职场文书
咖啡蛋糕店创业计划书
2014/01/28 职场文书
《可爱的动物》教学反思
2014/02/22 职场文书
网络编辑岗位职责
2014/03/18 职场文书
三年级学生评语
2014/04/23 职场文书
工商管理专业自荐信
2014/06/03 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技
优化Mysql查询的示例
2022/04/26 MySQL