目录
AngularJS 指令
AngularJS 表达式
AngularJS对象
AngularJS控制器
AngularJS过滤器
首页 数据库 mysql教程 AngularJs自学笔记(2)

AngularJs自学笔记(2)

Jun 07, 2016 pm 03:33 PM
angularjs 指令 笔记 自学

AngularJS 指令 AngularJS 指令是以 ng 作为前缀的 HTML 属性 div ng-app = "" ng-init = "firstName='John'" p 姓名为 span ng-bind = "firstName" / span / p / div 比如上面的ng-app ng-bind ng-init都是AngularJS 指令 ng-app ng-bind 用来将 span 的inn

AngularJS 指令

AngularJS 指令是以 ng 作为前缀的 HTML 属性

<code><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-init</span>=<span>"firstName='John'"</span>>

<span>p</span>>姓名为 <span>span</span> <span>ng-bind</span>=<span>"firstName"</span>><span><span>span</span>></span><span><span>p</span>></span>

<span><span>div</span>></span></code>
登录后复制

比如上面的ng-app ng-bind ng-init都是AngularJS 指令

ng-app

ng-bind用来将<span></span> 的innerHTML的数值进行绑定,让span内的value值变为firstName变量中的值
这里需要注意的是用ng-bind与用表达式来进行数据绑定有一定的区别,例如:

<code><span><span>p</span> <span>ng-bind</span>=<span>"firstName"</span>></span><span><span>p</span>></span>
<span>p</span>><span>{{ <span>firstName</span> }}</span><span><span><span>p</span>></span></span></code>
登录后复制

ng-bind的方式是当AngularJS对数据渲染完毕后才会显示的,而表达式的方式就算AngularJS没有对这个变量渲染完毕也是会有可能显示的(就是说会直接在页面上显示字符串“{{ firstName }}”)

ng-init用来初始化AngularJS程序的变量(很少用)

<code><input>type=<span>"number"</span> ng-model=<span>"quantity"</span>></code>
登录后复制

ng-model 用来将input中的value的值与AngularJS中的变量进行绑定,这里是与变量quantity进行了绑定

ng-repeat
例如:

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-init</span>=<span>"names=['Jani','Hege','Kai']"</span>></span>
  <span>p</span>>使用 ng-repeat 来循环数组<span><span>p</span>></span>
  <span>ul</span>>
    <span>li</span> <span>ng-repeat</span>=<span>"x in names"</span>>
      <span>{{ <span>x</span> }}</span><span>
    <span><span>li</span>></span>
  <span><span>ul</span>></span>
<span>div</span>></span></code>
登录后复制

结果如下:
AngularJs自学笔记(2)

ng-controller 用来创建一个控制器,具体使用参照下面写的控制器部分

还有许多ng指令,后续学到可以在这里补充


AngularJS 表达式

AngularJS 表达式写在双大括号内,其表达式的内容和形式与Javascript是一致的,它们可以包含文字、运算符和变量

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-init</span>=<span>"quantity=1;cost=5"</span>></span>

<span>p</span>>总价: <span>{{ <span>quantity</span> * <span>cost</span> }}</span><span><span><span>p</span>></span>

<span><span>div</span>></span>

<span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-init</span>=<span>"firstName='John';lastName='Doe'"</span>></span>

<span>p</span>>姓名: <span>{{ <span>firstName</span> + <span>" "</span> + <span>lastName</span> }}</span><span><span><span>p</span>></span>

<span><span>div</span>></span>
</span></code>
登录后复制

结果如下:
AngularJs自学笔记(2)


AngularJS对象

其和Javascript创建对象是一样的

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-init</span>=<span>"person={firstName:'John',lastName:'Doe'}"</span>></span>

<span>p</span>>姓为 <span>{{ <span>person.lastName</span> }}</span><span><span><span>p</span>></span>

<span><span>div</span>></span></span></code>
登录后复制

上面这些东西都是一些基本的内容,基本上与JS差不多,当然现在可能不够全面,后续如果有新的内容再回来补充。

AngularJS控制器

首先,先来一段代码

<code><span><span>div</span> <span>ng-app</span>=<span>"main"</span> <span>ng-controller</span>=<span>"personController"</span>></span>

名: <span>input</span> <span>type</span>=<span>"text"</span> <span>ng-model</span>=<span>"person.firstName"</span>><span>br</span>>
姓: <span>input</span> <span>type</span>=<span>"text"</span> <span>ng-model</span>=<span>"person.lastName"</span>><span>br</span>>
<span>br</span>>
姓名: <span>{{<span>person.firstName</span> + <span>" "</span> + <span>person.lastName</span>}}</span><span>

<span><span>div</span>></span>

<span>script</span>></span><span>
<span><span>function</span> <span>personController</span><span>($scope)</span> {</span>
    $scope.person = {
        firstName: <span>"John"</span>,
        lastName: <span>"Doe"</span>
    };
}
</span><span><span>script</span>></span></code>
登录后复制

运行结果如下:

AngularJs自学笔记(2)

这里直接说说我对这个控制器的理解吧,其实他就是一个简单的类的创建,对应着JAVA来看,ng-controller="personController" 就对应着JAVA中创建了一个名字为personController的类,而下面以这个类的名字来命名的一个函数就是这个类对应的构造函数,$scope可以是看做JAVA中的this,而$scope.person = {....} 则是为这个personController添加了一个名为person的属性,这里,这个person属性是一个对象属性,其也有两个属性firstName和lastName而两个input域里面的值也对其person属性中的这两个属性进行了绑定,其实换做Java代码可以看成这样

<code><span>class</span> personController{

    Person person;

    personController(){
        <span>this</span>.person.firstName = <span>"John"</span>;
        <span>this</span>.person.lastName = <span>"Doe"</span>;
    }
}

<span>class</span> Person {

    <span>String</span> firstName;

    <span>String</span> lastName;
}</code>
登录后复制

当然,函数也是可以作为对象的属性的

<code><span>script</span>><span>
<span><span>function</span> <span>personController</span><span>($scope)</span> {</span>
    $scope.person = {
        firstName: <span>"John"</span>,
        lastName: <span>"Doe"</span>,
        fullName: <span><span>function</span><span>()</span> {</span>
            <span>var</span> x;
            x = $scope.person;
            <span>return</span> x.firstName + <span>" "</span> + x.lastName;
        }
    };
}
</span><span><span>script</span>></span></code>
登录后复制

这种就相当于

<code><span>class</span> personController{

    Person person;

    personController(){
        <span>this</span>.person.firstName = <span>"John"</span>;
        <span>this</span>.person.lastName = <span>"Doe"</span>;
    }
}

<span>class</span> Person {

    <span>String</span> firstName;

    <span>String</span> lastName;

    private <span>String</span> fullName(){
        <span>this</span>.firstName + <span>" "</span> + <span>this</span>.lastName;
    }
}</code>
登录后复制

控制器也是可以有方法的

<code><span>script</span>><span>
<span><span>function</span> <span>personController</span><span>($scope)</span> {</span>
    $scope.person = {
        firstName: <span>"John"</span>,
        lastName: <span>"Doe"</span>,
     };
     $scope.fullName = <span><span>function</span><span>()</span> {</span>
         <span>var</span> x;
         x = $scope.person; 
         <span>return</span> x.firstName + <span>" "</span> + x.lastName;
     };
}
</span><span><span>script</span>></span></code>
登录后复制

这里就相当于

<code><span>class</span> personController{

    Person person;

    personController(){
        <span>this</span>.person.firstName = <span>"John"</span>;
        <span>this</span>.person.lastName = <span>"Doe"</span>;
    }

    private <span>String</span> fullName(){
        <span>return</span> <span>this</span>.person.firstName + <span>" "</span> + <span>this</span>.person.lasName;
    }
}

<span>class</span> Person {

    <span>String</span> firstName;

    <span>String</span> lastName;

}</code>
登录后复制

所以目前简单看起来,AngularJs的控制器可以把它当做一个Java的类来看待

AngularJS过滤器

AngularJS过滤器可以用来转换数据,其可以通过一个”|”管道字符添加到表达式或者指令的后面来将数据进行转换,例如:

<code><span><span>div</span>  <span>ng-init</span>=<span>"firstName='John';lastName='Doe'"</span>></span>
<span>p</span>>姓名: <span>{{ (<span>firstName</span>  + <span>" "</span> + <span>lastName</span>) | <span>uppercase</span> }}</span><span><span><span>p</span>></span>
<span><span>div</span>></span></span></code>
登录后复制

输出结果如下:

<code>姓名: JOHN DOE</code>
登录后复制

可以看到当添加uppercase过滤器之后,输出的字符串都被大写了

还有几种简单的过滤器

lowercase 过滤器 就是将表达式的值变为小写

currency 过滤器 将数值转化为金钱

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-controller</span>=<span>"costController"</span>></span>

数量:<span>input</span> <span>type</span>=<span>"number"</span> <span>ng-model</span>=<span>"quantity"</span>>
价格:<span>input</span> <span>type</span>=<span>"number"</span> <span>ng-model</span>=<span>"price"</span>>

<span>p</span>>总价 = <span>{{ (<span>quantity</span> * <span>price</span>) | <span>currency</span> }}</span><span><span><span>p</span>></span>

<span><span>div</span>></span></span></code>
登录后复制

结果:

AngularJs自学笔记(2)

orderBy 过滤器

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-controller</span>=<span>"namesController"</span>></span>
<span>p</span>>循环对象:<span><span>p</span>></span>
<span>ul</span>>
  <span>li</span> <span>ng-repeat</span>=<span>"x in names | orderBy:'country'"</span>>
    <span>{{ <span>x.name</span> + ', ' + <span>x.country</span> }}</span><span>
  <span><span>li</span>></span>
<span><span>ul</span>></span>
<span>div</span>></span></code>
登录后复制

结果:

<code>循环对象:
Kai, Denmark
Jani, Norway
Hege, Sweden</code>
登录后复制

这个过滤器对repeat指令中的数组进行了排序,并且是以country字段为依据进行排序,可以看到输出的结果中Country字段的值就是按由小到大排列而成的

filter 过滤器
其可以过滤出含有输入的字段的值的条目

<code><span><span>div</span> <span>ng-app</span>=<span>""</span> <span>ng-controller</span>=<span>"namesController"</span>></span>

<span>p</span>>输入过滤:<span><span>p</span>></span>
<span>p</span>><span>input</span> <span>type</span>=<span>"text"</span> <span>ng-model</span>=<span>"name"</span>><span><span>p</span>></span>
<span>ul</span>>
  <span>li</span> <span>ng-repeat</span>=<span>"x in names | filter:name | orderBy:'country'"</span>>
    <span>{{ (<span>x.name</span> | <span>uppercase</span>) + ', ' + <span>x.country</span> }}</span><span>
  <span><span>li</span>></span>
<span><span>ul</span>></span>
<span><span>div</span>></span></span></code>
登录后复制

当我什么都没有输入的时候,输出结果如下

AngularJs自学笔记(2)

当我输入g之后,输出结果如下

AngularJs自学笔记(2)

可以看到,输出的结果中就只有那些含有输入字符串的项目了
从这个例子中也可以看出过滤器是可以连续使用的

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

泰拉瑞亚怎么用指令获得物品?-泰拉瑞亚怎么收藏物品? 泰拉瑞亚怎么用指令获得物品?-泰拉瑞亚怎么收藏物品? Mar 19, 2024 am 08:13 AM

泰拉瑞亚怎么用指令获得物品?一、什么是泰拉瑞亚给予物品指令在泰拉瑞亚游戏中,给予物品指令是一项非常实用的功能。通过这个指令,玩家可以直接获取需要的物品,而不必费力地去打怪或者传送到某个地点。这样可以极大地节省时间,提高游戏的效率,让玩家更专注于探索和建设世界。总的来说,这个功能让游戏体验变得更加流畅和愉快。二、如何使用泰拉瑞亚给予物品指令1.打开游戏并进入游戏界面。2.按下键盘上的“Enter”键,打开聊天窗口。3.在聊天窗口中输入指令的格式:“/give[玩家名称][物品ID][物品数量]”。

小红书笔记怎么删除 小红书笔记怎么删除 Mar 21, 2024 pm 08:12 PM

小红书笔记怎么删除?在小红书APP中是可以编辑笔记的,多数的用户不知道小红书笔记如何的删除,接下来就是小编为用户带来的小红书笔记删除方法图文教程,感兴趣的用户快来一起看看吧!小红书使用教程小红书笔记怎么删除1、首先打开小红书APP进入到主页面,选择右下角【我】进入到专区;2、之后在我的专区,点击下图所示的笔记页面,选择要删除的笔记;3、进入到笔记页面,右上角【三个点】;4、最后下方会展开功能栏,点击【删除】即可完成。

小红书删除的笔记能恢复吗 小红书删除的笔记能恢复吗 Oct 31, 2023 pm 05:36 PM

小红书删除的笔记不能恢复。小红书作为一款知识分享和购物平台,为用户提供了记录笔记和收藏有用信息的功能。根据小红书的官方说明,已经删除的笔记是无法恢复的。小红书平台并没有提供专门的笔记恢复功能。这意味着,一旦在小红书中删除了笔记,无论是不小心误删还是其他原因,一般情况下是无法从平台上找回被删除的内容的。如果遇到特殊情况,可以尝试联系小红书的客服团队,看是否能够协助解决问题。

小红书发布过的笔记不见了怎么办?它刚发的笔记搜不到的原因是什么? 小红书发布过的笔记不见了怎么办?它刚发的笔记搜不到的原因是什么? Mar 21, 2024 pm 09:30 PM

作为一名小红书的用户,我们都曾遇到过发布过的笔记突然不见了的情况,这无疑让人感到困惑和担忧。在这种情况下,我们该怎么办呢?本文将围绕“小红书发布过的笔记不见了怎么办”这一主题,为你详细解答。一、小红书发布过的笔记不见了怎么办?首先,不要惊慌。如果你发现笔记不见了,保持冷静是关键,不要慌张。这可能是由于平台系统故障或操作失误引起的。检查发布记录很简单。只需打开小红书App,点击“我”→“发布”→“所有发布”,就可以查看自己的发布记录。在这里,你可以轻松找到之前发布的笔记。3.重新发布。如果找到了之

如何在最新的iOS 17系统中连接iPhone上的Apple Notes 如何在最新的iOS 17系统中连接iPhone上的Apple Notes Sep 22, 2023 pm 05:01 PM

使用添加链接功能在iPhone上链接AppleNotes。笔记:如果您已安装iOS17,则只能在iPhone上的AppleNotes之间创建链接。在iPhone上打开“备忘录”应用。现在,打开要在其中添加链接的注释。您还可以选择创建新备忘录。点击屏幕上的任意位置。这将向您显示一个菜单。点击右侧的箭头以查看“添加链接”选项。点击它。现在,您可以键入注释的名称或网页URL。然后,点击右上角的完成,添加的链接将出现在笔记中。如果要添加指向某个单词的链接,只需双击该单词即可将其选中,选择“添加链接”并按

小红书怎么在笔记中添加商品链接 小红书在笔记中添加商品链接教程 小红书怎么在笔记中添加商品链接 小红书在笔记中添加商品链接教程 Mar 12, 2024 am 10:40 AM

  小红书怎么在笔记中添加商品链接?在小红书这款app中用户不仅可以浏览各种内容还可以进行购物,所以这款app中关于购物推荐、好物分享的内容是非常多的,如果小伙伴在这款app也是一个达人的话,也可以分享一些购物经验,找到商家进行合作,在笔记中添加连接之类的,很多人都愿意使用这款app购物,因为不仅方便,而且有很多达人会进行一些推荐,可以一边浏览有趣内容,一边看看有没有适合自己的衣服商品。一起看看如何在笔记中添加商品链接吧!小红书笔记添加商品链接方法  在手机桌面上打开app。  在app首页点击

VUE3快速入门:使用Vue.js指令实现选项卡切换 VUE3快速入门:使用Vue.js指令实现选项卡切换 Jun 15, 2023 pm 11:45 PM

本文旨在帮助初学者快速入手Vue.js3,实现简单的选项卡切换效果。Vue.js是一个流行的JavaScript框架,可用于构建可重用的组件、轻松管理应用程序的状态和处理用户界面的交互操作。Vue.js3是该框架的最新版本,相较于之前的版本变动较大,但基本原理并未改变。在本文中,我们将使用Vue.js指令实现选项卡切换效果,目的是让读者熟悉Vue.js的

小红书发布笔记教程怎么弄?它发布笔记可以屏蔽人吗? 小红书发布笔记教程怎么弄?它发布笔记可以屏蔽人吗? Mar 25, 2024 pm 03:20 PM

小红书作为一个生活方式分享平台,涵盖了美食、旅行、美妆等各个领域的笔记。许多用户希望在小红书上分享自己的笔记,但却不清楚如何操作。在这篇文章中,我们将详细介绍小红书发布笔记的流程,并探讨如何在平台上屏蔽特定用户。一、小红书发布笔记教程怎么弄?1.注册登录:首先,需要在手机上下载小红书APP,并完成注册登录。在个人中心完善个人资料是很重要的。通过上传头像、填写昵称和个人简介,可以让其他用户更容易了解你的信息,也能帮助他们更好地关注你的笔记。3.选择发布频道:在首页下方,点击“发笔记”按钮,选择你想

See all articles