GVKun编程网logo

AngularJs bootstrap详解及示例代码(angular.bootstrap)

18

在这篇文章中,我们将带领您了解AngularJsbootstrap详解及示例代码的全貌,包括angular.bootstrap的相关情况。同时,我们还将为您介绍有关AngularJSAjax详解及示例

在这篇文章中,我们将带领您了解AngularJs bootstrap详解及示例代码的全貌,包括angular.bootstrap的相关情况。同时,我们还将为您介绍有关AngularJS Ajax详解及示例代码、AngularJS bootstrap启动详解及实例代码、AngularJS Bootstrap详细介绍及实例代码、AngularJs concepts详解及示例代码的知识,以帮助您更好地理解这个主题。

本文目录一览:

AngularJs bootstrap详解及示例代码(angular.bootstrap)

AngularJs bootstrap详解及示例代码(angular.bootstrap)

AngularJs学习笔记系列第一篇,希望我可以坚持写下去。本文内容主要来自 http://docs.angularjs.org/guide/ 文档的内容,但也加入些许自己的理解与尝试结果。

一、总括

本文用于解释Angular初始化的过程,以及如何在你有需要的时候对Angular进行手工初始化。

二、Angular <script> 标签

本例用于展示如何通过推荐的路径整合Angular,实现自动初始化。

 <!doctype html>

 <html xmlns:ng="http://angularjs.org" ng-app>

 <body>

 ...

 <script src="angular.js">

 </body>

 </html>

将sciprt标签放置于页面底部。这样做能避免因为加载angular.js而阻挡HTML的加载,从而降低应用的加载时间。我们可以在http://code.angularjs.org中获取到最新版本的angularJs。出于安全考虑,切勿在产品中直接引用这个地址来加载脚本。但如果仅仅是研究学习使用的话,直接连接也无妨。

选择:angular-[version].js 是方便阅读的一个版本,适合日常开发、调试使用。

选择:angular-[version].min.js 是压缩、混淆后的版本,适合最终产品使用。

放置”ng-app”到应用的根节点中,如果你想让angular自动启动你的应用,通常可以放置于<html>标签中。

<html ng-app>

如果我们需要使用老派风格的directive语法”ng:”,那么我们需要加入一个xml-namespace到html标签中以“取悦”IE。(这个是一个历史原因,我们也不推荐使用ng:)

<html xmlns:ng="http://angularjs.org">

三、自动初始化

Angular会在DOMContentLoaded事件中自动初始化,Angular会找出由你通过ng-app这个directive指定的应用根节点。如果找到,Angular会做以下事情:

加载与module相关的directive。

创建应用相关的injector(依赖管理器)。

以ng-app指定根节点,开始对DOM进行相关“编译”工作。换言之,可以将页面的其中一部分(非<html>)作为根节点,从而限制angular的作用范围。

<!DOCTYPE HTML>
<html lang="zh-cn">
<head>
 <meta charset="UTF-8">
 <title>Bootstrap-auto</title>
 <style type="text/css">
  .ng-cloak {
   display: none;
  }
 </style>
</head>
<body>
 这里是ng-app外面的~~{{1+2}}
 <div ng-app>这里是ng-app里面~~~{{1+3*2}}</div>
 <script src="../angular-1.0.1.js" type="text/javascript"></script>
</body>
</html>

      注:里面的”ng-cloak”,这个是用于在angular.js编译完成之前(对!没错!是编译完成之前,不是angularjs加载完成之前。所以,如果想很好地避免这个情况,最好的办法是优化应用的加载流程,或者结合css对未编译的模版进行处理。而由于那万恶的ie6、7不支持属性选择器,所以最好使用class=”ng-cloak”的方式。编译完成后,这个class或属性会被删除。)隐藏模版,避免在页面显示原模版。

四、手工初始化

如果我们想进一步控制初始化进程(例如你需要通过script loader加载angular.js或者在angular编译页面前做一些操作),那么我们可以用一个手工调用的启动方法去代替。

以下例子等同于使用ng-app这个directive:

<!DOCTYPE HTML>
<html lang="zh-cn">
<head>
 <meta charset="UTF-8">
 <title>Bootstrap-manual</title>
 <style type="text/css">
  .ng-cloak {
   display: none;
  }
 </style>
</head>
<body>
 这里是ng-app外面的~~{{1+2}}
 <div id="rootOfApp">这里是ng-app里面~~~{{1+3*2}}</div>
 <script src="../angular-1.0.1.js" type="text/javascript"></script>
 <script type="text/javascript">
  angular.element(document).ready(function() {
   angular.bootstrap(angular.element(document.getElementById("rootOfApp")));
  });
 </script>
</body>
</html>

就是说,我们的代码可以按照以下步骤编写:

1. 在页面和其他代码加载完成后,找到应用模版的根节点;

2. 调用angular.bootstrap,让angular去将模版编译为一个可执行的,双向绑定的应用!

 后续继续补充相关文章,谢谢大家对本站的支持!

              相关文章:

                                 AngularJs bootstrap搭载前台框架——js控制部分
                                
AngularJs bootstrap搭载前台框架——基础页面
                                 
AngularJs bootstrap搭载前台框架——准备工作
                                
AngularJs bootstrap详解及示例代码

您可能感兴趣的文章:
  • AngularJS使用ng-app自动加载bootstrap框架问题分析
  • angularJS与bootstrap结合实现动态加载弹出提示内容
  • 利用Angularjs和Bootstrap前端开发案例实战
  • 利用Angularjs和bootstrap实现购物车功能
  • AngularJs bootstrap搭载前台框架——基础页面
  • Bootstrap和Angularjs配合自制弹框的实例代码
  • 基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
  • AngularJS 与Bootstrap实现表格分页实例代码
  • AngularJS Bootstrap详细介绍及实例代码
  • AngularJS bootstrap启动详解及实例代码
  • 基于AngularJS实现页面滚动到底自动加载数据的功能
  • AngularJS使用angular.bootstrap完成模块手动加载的方法分析

AngularJS Ajax详解及示例代码

AngularJS Ajax详解及示例代码

AngularJS提供$http控制,可以作为一项服务从服务器读取数据。服务器可以使一个数据库调用来获取记录。 AngularJS需要JSON格式的数据。一旦数据准备好,$http可以用以下面的方式从服务器得到数据。

function studentController($scope,$http) {
var url="data.txt";
  $http.get(url).success( function(response) {
              $scope.students = response; 
            });
}

在这里,data.txt中包含的学生记录。 $http服务使Ajax调用和设置针对其学生的属性。 “学生”模型可以用来用来绘制 HTML 表格。

例子

data.txt

[
{
"Name" : "Mahesh Parashar",
"RollNo" : 101,
"Percentage" : "80%"
},
{
"Name" : "Dinkar Kad",
"RollNo" : 201,
"Percentage" : "70%"
},
{
"Name" : "Robert",
"RollNo" : 191,
"Percentage" : "75%"
},
{
"Name" : "Julian Joe",
"RollNo" : 111,
"Percentage" : "77%"
}
]

testAngularJS.html

<html>
<head>
<title>Angular JS Includes</title>
<style>
table, th , td {
 border: 1px solid grey;
 border-collapse: collapse;
 padding: 5px;
}
table tr:nth-child(odd) {
 background-color: #f2f2f2;
}
table tr:nth-child(even) {
 background-color: #ffffff;
}
</style>
</head>
<body>
<h2>AngularJS Sample Application</h2>
<div ng-app="" ng-controller="studentController">
<table>
  <tr>
   <th>Name</th>
   <th>Roll No</th>
	 <th>Percentage</th>
  </tr>
  <tr ng-repeat="student in students">
   <td>{{ student.Name }}</td>
   <td>{{ student.RollNo }}</td>
	 <td>{{ student.Percentage }}</td>
  </tr>
</table>
</div>
<script>
function studentController($scope,$http) {
var url="data.txt";
  $http.get(url).success( function(response) {
              $scope.students = response;
            });
}
</script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
</body>
</html>

输出

要运行这个例子,需要部署textAngularJS.html,data.txt到一个网络服务器。使用URL在Web浏览器中打开textAngularJS.html请求服务器。看到结果如下:

以上就是AngularJS Ajax的基础资料整理,后续继续整理相关资料,谢谢大家对本站的支持!

您可能感兴趣的文章:
  • AngularJS实现ajax请求的方法
  • AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
  • 实例详解angularjs和ajax的结合使用
  • 在AngularJS中使用AJAX的方法
  • Angular的$http的ajax的请求操作(推荐)

AngularJS bootstrap启动详解及实例代码

AngularJS bootstrap启动详解及实例代码

对于一般的使用者来说,AngularJS的ng-app都是手动绑定到某个dom元素。但是在一些应用中,这样就显得很不方便了。

绑定初始化

通过绑定来进行angular的初始化,会把js代码侵入到html中,但是对于新手使用来说,还是足够了!

rush:js;">

运行后,会显示hello,angular!

手动初始化

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

fig]);

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

fig:附加的配置

简单的看一下代码:

rush:js;">

值得注意的是:

angular.bootstrap只会绑定第一次加载的对象。

后面重复的绑定或者其他对象的绑定,都会在控制台输出错误提示。

以上就是对AngularJS bootstrap 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

AngularJS Bootstrap详细介绍及实例代码

AngularJS Bootstrap详细介绍及实例代码

AngularJS Bootstrap

AngularJS 的首选样式表是 Twitter Bootstrap, Twitter Bootstrap 是目前最受欢迎的前端框架。

查看 Bootstrap教程。

Bootstrap

你可以在你的 AngularJS 应用中加入 Twitter Bootstrap,你可以在你的 <head>元素中添加如下代码:

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">

如果站点在国内,建议使用百度静态资源库的Bootstrap,代码如下:

<link rel="stylesheet" href="//apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.min.css">

以下是一个完整的 HTML 实例, 使用了 AngularJS 指令和 Bootstrap 类。

HTML 代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="//apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body ng-app="myApp" ng-controller="userCtrl">

<div>

<h3>Users</h3>

<table>
 <thead>
 <tr>
  <th>编辑</th>
  <th>名</th>
  <th>姓</th>
 </tr>
 </thead>
 <tbody>
 <tr ng-repeat="user in users">
  <td>
  <buttonng-click="editUser(user.id)">
   <span></span>编辑
  </button>
  </td>
  <td>{{ user.fName }}</td>
  <td>{{ user.lName }}</td>
 </tr>
 </tbody>
</table>

<hr>
<buttonng-click="editUser(''new'')">
<span></span>创建新用户
</button>
<hr>

<h3 ng-show="edit">创建新用户:</h3>
<h3 ng-hide="edit">编辑用户:</h3>

<form>
 <div>
 <label>名:</label>
 <div>
 <input type="text" ng-model="fName" ng-disabled="!edit" placeholder="名">
 </div>
 </div> 
 <div>
 <label>姓:</label>
 <div>
 <input type="text" ng-model="lName" ng-disabled="!edit" placeholder="姓">
 </div>
 </div>
 <div>
 <label>密码:</label>
 <div>
 <input type="password" ng-model="passw1" placeholder="密码">
 </div>
 </div>
 <div>
 <label>重复密码:</label>
 <div>
 <input type="password" ng-model="passw2" placeholder="重复密码">
 </div>
 </div>
</form>

<hr>
<buttonng-disabled="error || incomplete">
<span></span>修改
</button>

</div>

<script src="myUsers.js"></script>

</body>
</html>

运行结果:

指令解析

AngularJS 指令 描述
<html ng-app 为 <html> 元素定义一个应用(未命名)
<body ng-controller 为 <body> 元素定义一个控制器
<tr ng-repeat 循环 users 对象数组,每个 user 对象放在 <tr> 元素中。
<button ng-click 当点击 <button> 元素时调用函数 editUser()
<h3 ng-show 如果 edit = true 显示 <h3> 元素
<h3 ng-hide 如果 edit = true 隐藏 <h3> 元素
<input ng-model 为应用程序绑定 <input> 元素
<button ng-disabled 如果发生错误或者 ncomplete = true 禁用 <button> 元素

Bootstrap 类解析

元素 Bootstrap 类 定义
<div> container 内容容器
<table> table 表格
<table> table-striped 带条纹背景的表格
<button> btn 按钮
<button> btn-success 成功按钮
<span> glyphicon 字形图标
<span> glyphicon-pencil 铅笔图标
<span> glyphicon-user 用户图标
<span> glyphicon-save 保存图标
<form> form-horizontal 水平表格
<div> form-group 表单组
<label> control-label 控制器标签
<label> col-sm-2 跨越 2 列
<div> col-sm-10 跨越 10 列

JavaScript 代码

myUsers.js

angular.module(''myApp'', []).controller(''userCtrl'', function($scope) {
$scope.fName = '''';
$scope.lName = '''';
$scope.passw1 = '''';
$scope.passw2 = '''';
$scope.users = [
{id:1, fName:''Hege'', lName:"Pege" },
{id:2, fName:''Kim'', lName:"Pim" },
{id:3, fName:''Sal'', lName:"Smith" },
{id:4, fName:''Jack'', lName:"Jones" },
{id:5, fName:''John'', lName:"Doe" },
{id:6, fName:''Peter'',lName:"Pan" }
];
$scope.edit = true;
$scope.error = false;
$scope.incomplete = false; 

$scope.editUser = function(id) {
 if (id == ''new'') {
 $scope.edit = true;
 $scope.incomplete = true;
 $scope.fName = '''';
 $scope.lName = '''';
 } else {
 $scope.edit = false;
 $scope.fName = $scope.users[id-1].fName;
 $scope.lName = $scope.users[id-1].lName; 
 }
};

$scope.$watch(''passw1'',function() {$scope.test();});
$scope.$watch(''passw2'',function() {$scope.test();});
$scope.$watch(''fName'', function() {$scope.test();});
$scope.$watch(''lName'', function() {$scope.test();});

$scope.test = function() {
 if ($scope.passw1 !== $scope.passw2) {
 $scope.error = true;
 } else {
 $scope.error = false;
 }
 $scope.incomplete = false;
 if ($scope.edit && (!$scope.fName.length ||
 !$scope.lName.length ||
 !$scope.passw1.length || !$scope.passw2.length)) {
  $scope.incomplete = true;
 }
};

});

JavaScript 代码解析

Scope 属性 用途
$scope.fName 模型变量 (用户名)
$scope.lName 模型变量 (用户姓)
$scope.passw1 模型变量 (用户密码 1)
$scope.passw2 模型变量 (用户密码 2)
$scope.users 模型变量 (用户的数组)
$scope.edit 当用户点击创建用户时设置为true。
$scope.error 如果 passw1 不等于 passw2 设置为 true
$scope.incomplete 如果每个字段都为空(length = 0)设置为 true
$scope.editUser 设置模型变量
$scope.watch 监控模型变量
$scope.test 验证模型变量的错误和完整性

以上就是对AngularJS Bootstrap 资料的整理,后续继续补充,希望能帮助编程AngularJS的同学。

您可能感兴趣的文章:
  • AngularJS HTML编译器介绍
  • AngularJS 执行流程详细介绍
  • 关于angularJs指令的Scope(作用域)介绍
  • AngularJS中的包含详细介绍及实现示例
  • 3个可以改善用户体验的AngularJS指令介绍
  • AngularJS基础学习笔记之简单介绍
  • AngularJS 模型详细介绍及实例代码
  • AngularJS中的Promise详细介绍及实例代码
  • Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
  • AngularJs每天学习之总体介绍

AngularJs concepts详解及示例代码

AngularJs concepts详解及示例代码

原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts

继续。。

一、总括

本文主要是angular组件(components)的概览,并说明他们如何工作。列表如下:

  1. statup - 依旧是hello world...改为Hello Kitty!
  2. runtime - 介绍angular的runtime
  3. scope - view与contorller的纽带(神马glue...胶)
  4. controller - app的行为(application behavior)
  5. model - app的数据
  6. view - 用户所看到的东东
  7. directives - HTML的语法扩展
  8. filters - 根据用户的本地格式,格式化数据
  9. injector - 加载我们的app(依赖管理之类)
  10. module - 配置injector
  11. $ - angular的命名空间(namespace)

二、启动(Startup)

下面描述angular是如何启动的(参考图表与下面的例子):

1. 浏览器加载HTML,将HTML标签转换为DOM对象;

2. 浏览器加载angular.js的脚本;

3. Angular等待DOMContentLoaded事件;

4. Angular寻找ng-app这个用于指定应用边界范围的directive;

5. 如果ng-app有指定module(也许是ng-app=”SomeApp”),将被用作配置$injector;

6. $injector用于创建$compile服务(service)以及$rootScope;

7. $compile服务用作“编译”(有点像遍历,然后做一点神秘的事情)DOM,并将其与对应的$rootScope连接。

8. ng-init 这个directive在对应的scope中创建name属性并对其赋予”Kitty”值;

9. 将“{{name}}”的值插入(interpolates)到表达式中,最终显示”Hello Kitty!”。

rush:js;"> <Meta charset="UTF-8"> Hello Kitty!

五、Controller

rush:js;"> <Meta charset="UTF-8"> Controller

九、Filters

  Filters 扮演一个数据转换(格式化)的角色。通常他们是与地域有关的,不同地域也许会有不同的输出格式。他们在追随了Unix过滤器的精神与类似的语法:| (pipe)

rush:js;"> <Meta charset="UTF-8"> filter