00:00
来吧,咱们开始上课,那学完那些语法呢?我们趁热打铁,就先来看两个练习我们要做的。呃,把咱们把其他的先全部关掉它吧。哎,这个练习这是静态的页面,先来看一下它的功能点。我的笔记这有个text,那当我在这儿咔咔输入的时候,你先看下面这。这种需求你们应该是见过,就是说我上来用户这儿可以输入,输入完我下边这显示的是它剩余可以输入的这个字符串的程度。然后当你这输入的时候,下边什么动态的去解一啊,你这每你的长度每增加一,我下边什么对应的去解一。哎,这个需求什么时候你们见过呢,在一些电商网站。你买完东西是不是要去写一个那个提交一下,哎,有什么买家留言啊,这些还有什么,最后晒就是那个。
01:06
晒图啊什么,你可以写一些评论,哎,这个时候呢,通常会做一些限制。哎,就是做这个功能,然后还有就是这边有三个八字。我点击这个保存保存看着啊走你哎,这提示一下not is safe,这是我随便写的啊。走,你。你会发现这边没有了,没有了,但是看着啊,我点这个读取走你。它是不是又上来了啊,又有了,然后我点出删除,这边又没有了,哎,我们就是要做这个功能点来先把静态的页面实现了,就这点东西。来到我们study里边,哎,练习。这呢是我们的HTML,然后呢,我外接了一个GS文件,就是它。就是这个能懂不这空的,那上来我们应该是先写一下我们基本的东西。
02:01
在这哎来个MYAPP,那接下来我们把这些,其实这不用分号啊,来个它,哎ctrler,那接下来来一个my control走你。写的规范一点就是这应该是一个数组Dollar scope到这没问题吧?那接下来这是不是一个function,虽然说我们后边这儿可以去申明任何的行参了,但是建议大家还是去写它。因为你的代码很有可能要和以后要和你们同事去交接,比如他要接手你的代码,或者说你要接手别人的代码,最起码写的能让人看懂。哎,能让人看懂。好了,写完这些了,来,我们回头把这些填充一下。我把这个换掉它吧。my control放到这。现在这些基本都有了,哎,有一个东西大家没见过。这一把有没有发现我的NG卡和他在一个位置啊?
03:03
我先给你打开页面。你看我这会报错吗?肯定不会会包错的话,你们是看不到这个的。现在没报错,但是这个呢,和我们之前的不一样,其实也能理解NGB是在管理当前的区域,对不对,然后生成一个叫跟作欲对象。而你的NG controller是生成我跟作用对象下面的子作用对象。现在他俩写到一块儿,无非不过就是说,我的子作用对象控制的范围和你的根作用对象一样大而已。但你要算这个关系的话,它还是它的负元素。父子关系能懂不就是只能说明他儿子跟他爹混的一样好,哎,管理的区域是一样大的。能懂吧,但是呢,通常不会这样写,我这儿留几个是想让大家知道这个啊,别以后大家真开发当中看到这个了,反闷。
04:04
我们是不是通常会这样写?啊好,那接下来我们先把静态的页面去写一写,上面给他H2,这是我的笔记,然后呢。这应该是一个text area,这没问题吧,因为我们不操作,所以这些东西我们就不用它。这个cos和Rose是控制它的宽高的。这没问题吧,那接下来再来个DNA,里边呢有三个button,哎,第一个应该是。保存。第二个是读取,第三个是删除。再往下应该还有一个文本,那这个里边写的东西是,哎,剩余的字数对不对,我们先在这写个100。关键是先把静态实现了刷新一下走,你首先这个页面和他这个是不是一样的。
05:03
这没问题吧,我们先来写第一个。第一个就是说,当我在这输入的时候,下边这这个数字是动态的去解。那我问一下大家,你这儿肯定不能写100了,对不对,写100你是不是写死了。而那个数据是不是动态计算出来的,但是我们在页面这能不能修改它。那说明这我直接就写它了,用的是表达式。能懂吧,而这个表达式,你虽然说用表达式,你想一下它里面你比如我放个变量。这个变量在这我肯定要失明,能不能写死呢?没懂我的意思啊,我这就放A。那我到时候是不是要在这去出手一个A?你能这样写吗?这样写是不是还是相当于写死的?
06:02
也就是说我这应该是动态去计算一个东西,所以说我们在这儿通常来说就会放一个方法。比如我就给他定get code就拿到我的数量,这没问题吧,表达式里面放一个函数调用,我们已经用过了。那放一个函数的话,我这应该是去初始化一个叫他Dollar符sc.get让它呢去等于一个方式。这是定义,哎,计算剩余次数的方法。没问题吧?那么这个时候这些方法。调用的话,我是不是把最终的结果反馈在这里啊,那所以说这应该怎么写。这一把就可以用谁了用了。比如说我们先让他就反出个写死的数据以外,先来看一下页面到底能不能行。来刷新这个100是不是还没变啊。
07:03
你看不出来,你就换个十。走你没问题吧?但这样的话,到现在为止还是写死。接下来我们要考虑的是,当我这个输入框里面的本本的认识每增加一,我这是不是要相应的去减掉一个一。所以这应该怎么写?100应该是减去一个东西。对不对,减去什么呢。减去的是我这个text a这个输入框输入的字符串的长度。那现在我要考虑的问题,我得拿到他输入的内容啊。能不能理解?最起码拿到事物内容我才能点,那子才能算出来。所以我是不是应该先把它和我的内存关联起来?N。
08:02
Model在这儿呢,这个option不用它删掉。里边呢,你随便定一个变量,比如说就叫message。这没问题吧?那现在一关联上你可以看,哎,我这没写完,他会报错。把这个减号去掉,大家看一下啊,来咱们刷新一下,打开这个工具。首先这个方法我初始化是不是能看到了,接着你看着啊。这我每输入一,我这儿是不是多了个message属性啊。那现在100减去谁,你应该知道。购物点千万不要忘了。是不是就是他?哎,不够。第二,认识你。没问题吧?来,我来刷新一下。有什么问题呢?你是不是看见表达式出来了,那么你应该是去检查,你可以看一下控制台有没有给你什么提示。
09:02
往上走。Cannot read property length of。他是说Les这个属性现在没有。那你说我的认识拼错了吗?认识没错,只能说明调用认识的这个家伙错了。能不能懂?他为什么错了呢?我告诉你们,你们以后开发要经常用这个house,我感觉这个东西特别好。万能的lo,哎,什么东西不知道,咔,打印一下,串一下。走,你。现现在是我这个message对应的是unDeFined,然后你unDeFined点必然会报错。这是问题,对不对?接下来我们来分析一下为什么会出现这个问题。为什么是安find呢?
10:01
你想一下,我这个上来解析到这,他这是不是直接去调用了,直接调用的话,我立马去对象里面找这个message,请问现在我这个作业对象。有message吗?相当于是问我这个对象scope取一个东西,点message,对象里面没有一个属性,那么你拿到的值是什么?是不是就是案件犯的,所以会犯这个错误?然后接下来你再一输的话,反而又好了。那是因为现在有message了,当你的内容一改变的话,他这一直会动态的去调用这个方法。那你说前面那个问题,我们用不用处理啊。肯定要处理,肯定要处理,处理就上来这一步。用户肯定不能看到,这样怎么处理也简单,他上来这个message是不是安排饭呢,那我能不能让他上来,有一个东西不。
11:03
不去报错呢。初始化数据上来,你想初始化什么好?首先我输入框是没有值的。很好。就是对。上来为空串,首先我一刷新空串在这儿还是不显示任何内容的。然后空创点勒会不会报错呢?会报错吗?哎,不是啊,字符串不是本身就有论字属性吗?空串的无非不过是零,怎么可能报错呢?对不对啊,那100减去零是不是正好显示还是100,哎,那这样的话我们再来看走你。
12:02
就没有任何问题了,那下边这个手环是动态的,跟我根据我这个长度去计算的。
我来说两句