AngularJS入门小结

说几天初学AngularJS的感受吧。一开始,公司的前辈给我一下参考资料去让我快速入门,先开始给了一个网站的链接http://www.runoob.com/ionic/ionic-tutorial.html,之前我其实不是很懂什么叫跨平台的APP开发,只是知道开发iOS不是用原生的OC或者最新的swift。后面听说ionic框架来开发的移动APP(android和iOS),可以写一套代码直接实现两个移动平台的APP开发,我当时就觉得好神奇。其他的不是不多扯把,还是说说ionic吧。我当时一打开那个网页,就看到学习ionic必须要具备HTML,CSS,Javascript,Angular。只能从HTML开始学起,因为也是初入门,学的不是很深入,个人感觉HTML还算是比较容易的,都是一些需要注意的语法结构,主要是围绕标签展开的,层次关系也是很明显的。看了很多实例,也做了一些笔记,不过都是一些基础的语法。具体如下:

 HTML实例演示http://www.runoob.com/html/html-examples.html
1.
<!doctype html>
html5标准网页声明,原先的是一串很长的字符串,现在时这个简洁形式,支持HTML5标准的主流浏览器都认识这个声明。表示网页参用HTML5,位于<html>的前面。
2.
<body>…</body> 网页中的正文
<h>…</h>表示标题
<p>…</p>表示段落
<a href=“http://www.baidu.com”>这是一个链接</a>  显示是这是一个链接,点击跳转到百度网站
<a href=“http://www.baidu.com" style="text-decoration:none;">Visit w3cschool.cc!</a>  没有下划线的链接
<a href="http://www.w3cschool.cc/" target="_blank">访问 w3cschool.cc!</a>  链接在新窗口打开
<img src=“/images/w3cshool.png” width=“300” height=“120” />   表示图片
<hr />    表示插入一行下划线
3.
<!--This is a comment. Comments are not displayed in the browser—>  表明注释
文字中换行表示空格的含义 或者 在文字中间 加入<br>  或者 <br />
即使忘了使用结束标签,大多数浏览器也会正确地将 HTML 显示出来。
4.
<address>
Written by <a href="mailto:webmaster@example.com">Jon Doe</a>
</address>
 表明点击Jon Doe 可以直接跳转到邮箱并且补全收件人:webmaster@example.com
<abbr title=“etcetera">etc.</abbr>   表明首字母小写
<acronym title="World Wide Web”>WWW</acronym> 表明首字母大写 
在某些浏览器中,当您把鼠标移至缩略词语上时,title 可用于展示表达的完整版本。
5.
<p><bdo dir="rtl">This paragraph will go right-to-left.</bdo></p>     表明倒序
6.
<q>…</q> 表明双引号之间的语句
<del>blue</del> 表明删除线
<ins>red</ins> 表明下划线
<body style=“background-color:yellow;”>…</body>   表明黄色背景色
 style=“text-align:center;”  字体居中 
7.
表格 如果不要边框,可以直接将border这部分省去 用<caption>Monthly savings</caption> 表明标题   cellpadding 表明单元格边距 cellspacing=“10"  表明单元格间距
<table border=“1”cellpadding="10">
<tr>
  <td>100</td>  注:用<th>...</th>也是可以的 表明表头
  <td>200</td>
  <td>300</td>
</tr>
<tr>
  <td>400</td>
  <td>500</td>
  <td>600</td>
</tr>
</table>

8.表相关的合并单元格
http://www.runoob.com/try/try.php?filename=tryhtml_table_span

9.用下面的结构
<ul>
   <li>apples</li>
    <li>bananas</li>
   <li>pineapples</li>
</ul>
表示
*apple
*bananas
*pineapples (其中的*代表·)

<ol>
  <li>coffee</li>
  <li>tea</li>
  <li>milk</li>
</ol>  表示
1.apple
2.bananas
3.pineapples

<ol start=“50”>
  <li>coffee</li>
  <li>tea</li>
  <li>milk</li>
</ol>  表示
51.apple
52.bananas
53.pineapples
还有其他格式参考:http://www.runoob.com/try/try.php?filename=tryhtml_lists_ordered
http://www.runoob.com/try/try.php?filename=tryhtml_lists_unordered

10.
<dl>
  <dt>Coffee</dt>
  <dd>- black hot drink</dd>
  <dt>Milk</dt>
  <dd>- white cold drink</dd>
</dl>

定义列表如下:
Coffee
- black hot drink
Milk
white cold drink

<form action="">
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
</form>
表示:含义文本框的列表,可以填写。创建密码区的时候需要将type的属性设置成password
<form action="">
<input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle" value="Car">I have a car 
</form>
表示复选框,可以同时选择多个选项。

<form action="">
<input type="radio" name="sex" value="male">Male<br>
<input type="radio" name="sex" value="female">Female
</form>
表示单选框。选择性别是Male还是Female.

<form action="">
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
</form>
表示下拉列表


<form action="">
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat" selected>Fiat</option>
<option value="audi">Audi</option>
</select>
</form>表示预选下拉列表。预选选项fiat.

11.文本框(多行文本输入控件)
<textarea rows="10" cols="30">
我是一个文本框。
</textarea>

12.创建了一个hellow world!的按钮
<form action="">
<input type="button" value="Hello world!">
</form>
...

还有更多的,也没有再一一记录了。

AngularJS是一个Javascript框架,它可通过script标签添加到HTML页面。AngularJS通过指令扩展了HTML,且通过表达式绑定数据到HTML。
它的四大核心特征:
1.MVC(手段;目的:模块化与复用)
为什么?
1.代码规模越来越大,切分职责是大势所趋
2.为了复用:很多逻辑是一模一样的
3.为了后期维护方便:修改一块功能不影响其他的功能

scopePOJOJS scope提供一些工具方法 watch/ apply(),观察其内部对象值得变化,不需要手动调用。
scope() scope是一个树型结构(子层标签去父层标签的属性与方法),与DOM标签相平行
scope() scope不仅是MVC的基础,也是后面实现双向数据绑定的基础。
可以通过angular.element( 0).scope() scope的生命周期
creation->watcher registration->modedl mutation->mutation observation->scope destruction

controller 如果有公共的部分,可以通过service来解决
将公共的部分抽离成service(服务),让控制器具有这样的service.
不要在Controller里面进行DOM操作,不要进行数据格式化(ng有很好的表单功能),不要进行数据过滤操作(ng有$filter服务),不要相互调用(通过scope 或者事件交互)

代码

<!doctype html>
<html ng-app>
<head>
<meta charset="utf-8">
</head>
<body>
<div ng-controller="CommonController">
<div ng-controller="Controller1">
<p>{{greeting.text}},Angular</p>
<button ng-click="test1()">test1</button>
</div>

<div ng-controller="Controller2">
<p>{{greeting.text}},Angular</p>
<button ng-click="test2()">test2</button>
</div>

<button ng-click="commonFn()">通用</button>
</div>


</body>
<script src="js/angular-1.3.0.js"></script>
<script src="HelloAngular_MVC.js"></script>
</html>


—
function ComminController($scope){
    $scope.commonFn=function(){

    alert("这里是通用功能!");
    };
}

function Controllr1($scope){
    $scpe.greeting = {
    text:'Hello1'
    };
    $scope.test1=function(){
    alert("test1");
    };
}

function Controller2($scope){
    $scope.greeting = {
     text:'Hello2'
    };
    $scope.test2=function(){
    alert("test");
}
}

demo示例:
<!doctype html>
<html ng-app>
  <head>
   <meta charset="utf-8">
  </head>
  <body>
     <div>
     <input ng-model="greeting.text"/>
     <p>{{greeting.text}},Angular</p>
     </div>
   </body>
   <script src="js/angular-1.3.0.js"></script>
 </html>

2.模块化和依赖注入
3.双向数据绑定
替代{{greeting.text}}来实现双向数据绑定
4.指令
主要也就是上面这四点核心。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值