AngularJS Tutorial(16)from w3school



Bootstrap is a popular style sheet. This chapter demonstrates how to use it with AngularJS.


Bootstrap

To include Bootstrap in your AngularJS application, add the following line to the head of your document:

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

If you want to study Bootstrap, visit our Bootstrap Tutorial.

Below is a complete HTML example, with all AngularJS directives and Bootstrap classes explained.


HTML Code

< !DOCTYPE html >
< html >
< link rel= "stylesheet" href= "http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" >
< script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js" > < /script >
< body ng-app= "myApp" ng-controller= "userCtrl" >

< div class= "container" >

< h3 >Users < /h3 >

< table class= "table table-striped" >
  < thead > < tr >
    < th >Edit < /th >
    < th >First Name < /th >
    < th >Last Name < /th >
  < /tr > < /thead >
  < tbody > < tr ng-repeat= "user in users" >
    < td >
      < button class= "btn" ng-click= "editUser(user.id)" >
      < span class= "glyphicon glyphicon-pencil" > < /span >&nbsp;&nbsp;Edit
      < /button >
    < /td >
    < td > {{ user.fName }} < /td >
    < td > {{ user.lName }} < /td >
  < /tr > < /tbody >
< /table >

< hr >
< button class= "btn btn-success" ng-click= "editUser('new')" >
  < span class= "glyphicon glyphicon-user" > < /span > Create New User
< /button >
< hr >

< h3 ng-show= "edit" >Create New User: < /h3 >
< h3 ng-hide= "edit" >Edit User: < /h3 >

< form class= "form-horizontal" >
< div class= "form-group" >
  < label class= "col-sm-2 control-label" >First Name: < /label >
  < div class= "col-sm-10" >
    < input type= "text" ng-model= "fName" ng-disabled= "!edit" placeholder= "First Name" >
  < /div >
< /div >
< div class= "form-group" >
  < label class= "col-sm-2 control-label" >Last Name: < /label >
  < div class= "col-sm-10" >
    < input type= "text" ng-model= "lName" ng-disabled= "!edit" placeholder= "Last Name" >
  < /div >
< /div >
< div class= "form-group" >
  < label class= "col-sm-2 control-label" >Password: < /label >
  < div class= "col-sm-10" >
    < input type= "password" ng-model= "passw1" placeholder= "Password" >
  < /div >
< /div >
< div class= "form-group" >
  < label class= "col-sm-2 control-label" >Repeat: < /label >
  < div class= "col-sm-10" >
    < input type= "password" ng-model= "passw2" placeholder= "Repeat Password" >
  < /div >
< /div >
< /form >

< hr >
< button class= "btn btn-success" ng-disabled= "error || incomplete" >
  < span class= "glyphicon glyphicon-save" > < /span > Save Changes
< /button >
< /div >

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

Try it Yourself »

Directives (Used Above) Explained

AngularJS DirectiveDescription
<body ng-appDefines an application for the <body> element
<body ng-controllerDefines a controller for the <body> element
<tr ng-repeatRepeats the <tr> element for each user in users
<button ng-clickInvoke the function editUser() when the <button> element is clicked
<h3 ng-showShow the <h3>s element if edit = true
<h3 ng-hideHide the <h3> element if edit = true
<input ng-modelBind the <input> element to the application
<button ng-disabledDisables the <button> element if error or incomplete = true

Bootstrap Classes Explained

ElementBootstrap ClassDefines
<div>containerA content container
<table>tableA table
<table>table-stripedA striped table
<button>btnA button
<button>btn-successA success button
<span>glyphiconA glyph icon
<span>glyphicon-pencilA pencil icon
<span>glyphicon-userA user icon
<span>glyphicon-saveA save icon
<form>form-horizontalA horizontal form
<div>form-groupA form group
<label>control-labelA control label
<label>col-sm-2A 2 columns span
<div>col-sm-10A 10 columns span

JavaScript Code

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 Code Explained

Scope PropertiesUsed for
$scope.fNameModel variable (user first name)
$scope.lNameModel variable (user last name)
$scope.passw1Model variable (user password 1)
$scope.passw2Model variable (user password 2)
$scope.usersModel variable (array of users)
$scope.editSet to true when user clicks on create user.
$scope.errorSet to true if passw1 not equal passw2
$scope.incompleteSet to true if any field is empty (length = 0)
$scope.editUserSets model variables
$scope.watchWatches model variables
$scope.testTests model variables for errors and incompleteness
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想要爬取w3school的web教程,可以先访问https://www.w3school.com.cn/web/,然后按照以下步骤进行操作: 1. 使用requests库发送GET请求,获取网页内容。 ```python import requests url = "https://www.w3school.com.cn/web/" response = requests.get(url) ``` 2. 使用beautifulsoup库解析HTML内容,获取所有的教程链接。 ```python from bs4 import BeautifulSoup soup = BeautifulSoup(response.text, "html.parser") links = soup.find_all("a", class_="item") ``` 3. 遍历所有链接,使用requests库发送GET请求,获取每个教程的内容。 ```python for link in links: tutorial_url = link.get("href") tutorial_response = requests.get(tutorial_url) tutorial_soup = BeautifulSoup(tutorial_response.text, "html.parser") # 处理每个教程的内容 ``` 4. 在每个教程的页面中,可以使用beautifulsoup库提取出所需的内容,例如章节标题、内容等。 ```python # 提取章节标题 title = tutorial_soup.h1.string # 提取内容 content_div = tutorial_soup.find("div", class_="content") content = content_div.get_text().strip() ``` 5. 最后,您可以将获取到的内容保存到本地文件或数据库中。 ```python # 将内容保存到文件中 with open("tutorial.txt", "w", encoding="utf-8") as f: f.write(title + "\n") f.write(content) ``` 需要注意的是,爬取网站内容时需要遵守爬虫道德规范,不要对网站造成不必要的负担和影响。同时,如果网站有反爬虫机制,您可能需要使用一些反反爬虫技巧,例如设置请求头、使用代理IP等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值