00:00
好,下面呢,我们来说这个后两个啊,一个是定义动作,还有一个块动作,我们来看这个定义动作是什么。当我们访问一些网站时呢,经常会看到好多网页中的有相同的部分,有导航栏,什么版权信息,联系方式等,那这个我们平时看到的好多网页,其实这个好多内容都是相同的,比如呢,你有时候会看到一个网页,我们来这个可以看到一个啊,就这样一个网页,然后呢,上面是一,上面是一块,这是一块。对吧,然后呢,有的是这个这块有一块,然后中间有一块。呃,两边哎这块有一块对吧,诶这一块哎这块比这样啊,你会看到好多这这样的网站,这是一部分,这是一部分,中间是一部分,然后这又是一部分,下边有还有一部分什么版权信息对吧?哎版权信息当你比如这里边诶你在一个网站上看到的最多的是不是应该都是超链接啊。对吧,哎,最多的就是超链接,那你点一下这个超链接之后,发现其实变的是不是就是中间那一块。
01:01
对吧,哎,别的数中间这块其他地方呢,好像都没变,哎都没变,那这时候呢,这就是哎这个你跳到另一个阴脉之候呢,发现这三部分是一样的一样的,那这时候呢,就比如我们这个这块说的什么网页中有相同的部分,什么导航栏啊,版权信息啊,联系方式啊等啊这些相同的部分呢,呃,我们可以通过定义动作,在这个模板文件中的定义模板来实现,定义的一个模板的格式就是用这个啊DeFine用定义的一个单词啊定义的单词,然后你起一个名字,给它模板起一个名字,起个名字,然后那摁结尾,那基本上这些动作都是啊,一个摁这个结尾的啊摁结尾的下面呢,也这个举了个例子啊,比如在一个模板文件里边一个hello点面里边。哎,我们在这里边呢,写了一个这个DeFine定义,然后呢,给这个模板这个起了一个名字,比如叫model,当然你可以叫其他的啊,叫其他的啊,下边的就是一个A页面了,A页面了,然后这里边呢,又有一个time,这是干啥的呀?Time content干干什么呀?
02:04
是干什么的呀?包含嘛,刚说的嘛,包含对吧,也就是说我这个在定义它是里边这个at TL页面里面是不是又包含了另外一个模板了,对吧?诶又包含啊包含啊,又包含了一个content啊,包含了content,然后下边诶这块就end了啊end了这是这个,哎,我们也可以看成在一个呃模板文件中定义多个模板,这是定义了一个,定义了一个,这个名字叫model,定义叫model,而且这里边也包含了一个content啊content好,再往下来看,在一个model板里边呢,定义多个模板,同样呢,还用呃DeFine里边一个model,好定义完model之后呢,下边这块temp你不是包含了一个content吗?你包含了content,那好,那下面呢,我又定义了一个content,就告诉你content里边到底是啥。到底是啥?诶,这个里边你可以这个包含一个,比如现有的啊,现有的当然呢,我也可以自己定义一个,有这个content的,可能之前没有定义,没有,那我干什么呢?我给给你这个content也定义一下,到底这个content里边将来能显示什么,所以呢,我这里边写一个超链接,这个超链接当然了,你可以写一个再写一个页面啊,同样就相当于页面里边又又套了一个页面了,诶。
03:07
就就这样来这个进行一个定义啊,用这个标签,哎,这个开始,然后下边呢,用这个end来进行结束,也很很简单啊,定义这个单词呢,我们也都认识,就是后边给它起个名字就行了,下边这块呢,就是这个。哎,写的这个代码啊,没有什么了啊,没有什么了,就只是呢,他调的方法,执行模板时候要注意,执行模板时,因为你定义了模板给他起名字了啊,所以呢,这块啊,那个团队就是你你放到后边写的那个,你写的是什么呢?这块就传什么啊传什么,那就能执行你对应的这个模板了,你把这个模板文件,你就hello,你在哪一个文件里面定义的这个模板啊,你就把那个文件这个解析一下,Pass files来解析一下,解析完之后呢,调的是。SQ呃,SQ的这个templ play的这个方法啊,调这个方法不是那个,只是只是那个SQ的那个方法了,你需要这个运行这个就是这个,把这个名字啊模板的名字串进来,好,这是这个啊定义动作好我们把这个呢也测试一下啊。
04:04
哎,再来创建一个页面。来整一个。你干啥呢?复制一个还重衣服复制吧。改个名字。好。点开了,点开了之后呢,哎,我们就在上面最上面写了。下边这些东西都删掉了啊。干掉好在这上面呢,我们来这个定义。这个注释啊定义。定义这个模板。大问号。大括号大括号。给饭哎,起个名字就叫一个什么呢。模板model多拉啊,就叫model多了,你叫其他的也可以啊,无所谓,然后呢,最后写一个N。
05:01
啊诶定义完它了,定义完它当然啊,你这里边你word里边不包含其他的也可以,你直接自己写也也行啊,自己写也行,然后你解析完这个价值键盘之后呢,这个运行还一个model,它就能显示出来了,那我们这块这个也可以把刚刚说的那个包含呢,也运用一下,我在这我来写一个什么呢,包含time。Time play的time play的有呢,包含一个,另外一个叫一个什么呢?嗯,叫一个就叫content吧。Count的好,那包含一个它,那包含它的时候呢,我这个下边呢,我也可以再定义一个,再定义,专门给这个count再定义一下。大伙饭。刚才的。诶count,诶在content里边,你到底就用想显示什么,因为body里边现在是空的吗?我第我这个包发了一个content body里边什么都没有了,直接显示content里边内容,所以这里边比如我们就可以写个内容啊,还是我们写一个超链接吧。
06:01
诶。啊,写个什么呢?呃,这个百度。啊,百度把这个地址呢写一下HF。Andb。斜杠斜杠3W点百度点。com。好,你就可以访问百度了,然后呢,在这块我们最后结束一下end end,好,诶就是这个啊,我们定义模板的时候,又包含了另外一个模板count,好,那现在呢,我们来测试一下,找到我们的mind。再复制一下。他一个。第三。好,诶,来CTRLC。
07:03
好,诶里边改一下我这个执行,哎,不需要两个了,一个把文件。我这个叫一个。点H点面好,那这个调的方法,哎注意了,哎不是它了。下边的一个temp w,然后呢,名字model,诶model,哎,我这个定义的一个model,定义的model里边包含了一个content content,然后后边啊,就我们里边也没有获取这个内容,所以呢,就不需要传了啊,不需要传了,就是这个啊,我们通过这个定义定义这个动作,定义动作里边定义了一下这个里边有个HTL,另外呢,我又爆发了另外一个抗抗的。In con。就这样吧,啊讲错就错吧,看的写错了是吧,就这样了,好诶来我们再来执行一下。
08:05
慢点,Be。好,哎,来测试一下。诶,这时呢啊,就看到了这个我们定义的那个模板里边包含的那个模板,模板包含的那个还是我们定义的,还是我们定义的啊,所以呢,就看到了里边你被包含的那个里边内容一个超链接百度,当然你点它就可以包含了啊,就可以含了我们这块啊这个直接就把这两个,呃,直接就写的是这种方式啊,当然呢,你可以不定义这个,就这里边这个也可以删掉,也可以删掉,然后呢,这里边写自己的一个一些什么跳链跳链接呀,或者是一些内容都可以啊,它也能显示出来,那么这块就是把这两个相当于一块用了一下啊,一块用一下,这是这个定义动作啊定义动作哎,关键就是前面这个啊,你可以认为什么关键前面这个关键字啊,怎么来这个要是条件的用什么,用if,然后迭代的用什么啊,用这个range,然后其他的就用什么啊把这个给它记住啊就可以了,其他的没什么,这个格式也是固定的啊,两个大括号,哎里边最后呢,解束用摁的,这是这个定义,还有最后一个啊块动作,那们来把这个也看一下。
09:12
1.6呢,有了一个新的块动作,这个动作允许用户定义一个模板并立即使用,相当于什么设置了一个默认的一个模板,诶。比如呢,我刚刚这一块。刚刚如果我这个timel的account,诶这个模板如果我下边我没有定义了,什么都显示不了了,显示不了这个时候呢,我们感觉不好,你可以通过这个块呢,比如呢,我相当于设置了一个默认的啊,默认的一个要要显示的一个内容,就是我们说的这个,呃,跨重转快中转允许立即使用模板,这个定义一个模板并立即使用它相当于设了一个默认那个模板,默认那个模板,那这个呢,用的是这个block。B。怎么才来啊?堵车了是吗?啊,去银行了,这是大事情是吧,存了个几千万,然后呢,这个写一个他写给他,如果这个找不到模板,嗯,我就要显示了,就这个意思啊,如果找不到呢,我就就就就要显示我了,就要显示我了。
10:12
然后下边啊这块呢,我们修改了一下6.45 6.45中的一个模板文件,Hello,你看这块啊,定义了一个模板,然后呢,这块一个block count的,如果找不到呢,就显示我就定义这个答你像那个我们刚刚那个count啊,如果显示不了的就可以就可以显示这个了啊显示这个了,这个啊,我们下边这块也是这个处理的啊,就写了一个。啊,写了一个判断,啊,写了个判断,因为我们这个定义动作这块。来听多个。啊,还有这个我们没说呢,是吧,在不同的这个模板文件中定义同名的啊这个呢,呃,我们也可以这个,呃,定义这个。在不同的模板文件里边定义,定义这个同名的,也就是在多个文件里边啊,多个模板文件里边定义个同名的,我们把这个也说一下啊,把这个说一下,还漏了一个啊,漏了一个在不同的一个模板文件中定义一个同名的模板,诶诶看这个模板文件,诶我们的hello.l,然后这里边呢,我定义了一个model,定义个model,然后这里边有一个temp content的,那这个content呢,我要取的话,比如说我假设有两个模板文件里都定列content,那我到底用谁呢?诶,所以下边这块啊,就是我可以在这个,诶,在不同的这个模板文件里边来定一个同名的一个模板。
11:28
也就是在两个文件里面,或者三个文件里面都有这个content的,那这个时候呢,你这个在在显示这个content时候,到底他用哪一个,他都用哪一个啊,我们可以这个比如写一个判断,来来告诉他让他用哪一个,来我们看一下啊这块呢,我包含了一个content的,那这个content的模板呢,如果你这个在其他模板文件里边不指定,那就什么都显示不了了啊,就什么都显示不了了,来来看下面呢,我有一个count的1.al有这样的一个atl文件,我里边定了一个count的模板DeFine content,然后这块写了一句话,诶,我是这个文件中的一个内容写了个,他写了他,然下面在另一个文件里边也写了一个。
12:06
也定了一个content,也永远看到,诶,我是CONTENT2里边的一个文件的个内容,文件内容,诶那下边这块啊,就是一个处理的一个代码了,诶用这个temp must,哎,然后我把这个hello还有当然了啊,你那个诶这个另外两个定义了这个content的这个模板文件,你肯定都要解析啊,都要解析,所以这句块啊,这个通过一个判断,比如你要满足这个条件呢,我解析的是这个C1里边点下面就意味着诶如果要满足这个条件,我显示的是这个呃,C1里边你定义的那个模板里边的内容,如果要呃,否则我显示的这个CONTENT2里边那个内容,当然这块还是调的是fq temp这个方法,把你那个定义的那个model给它传进来,哎,传进来这个啊,我们把这个呢也可以啊,这个也简单啊,我们把这个也可以演示一下。哎,在这一个呢,这一块,呃,我们这块呢,嗯,Temp play content显示了一个它。哎,那这样啊,我们这个再再写一个DeFine吧。
13:04
好啊,这个呢,改成一个。改成一个二。DNA的一个二。二好,诶在这个二里边呢,我们把这个改一下,诶在这个二里边呢,我定义了一个model这个模板,然后呢,里边包含了一个content content,我们把这个content改正确啊。好,包含了一个content,那包含content在这里边呢,我不定义这个content了,那我我在哪定义这个content呢?我在另外两个文件里边分别都定义下这个count,诶明白啥意思吧,也就是在不同的文件里边定义相同名字的这个模板。哎,好,我们再来创建两个来来。复制了啊,CTRLCCTRLV。好,哎,这个呢,名字改一下,比如这叫一个content。1.html,然后呢这块。
14:00
哪个是我刚刚。是这个吗?要的。二。2.h好,哎,现在啊,诶一个是C1也是C2,我们这个呃,DeFine2.h里边呢,需要包含一个C,那所以呢,我在这里边呢,我可以定义这个count的了,让它显示这个不同的内容,好,我们来打开这个呃,COUNT1好把这些删掉,这个也删了。杀了啊,不在这。好哎,这样我们就简单的来来写一下了啊。把这个呢也删掉。好,诶,在这个玻璃里边我们来写。在这呢,大括号,大括号我定义定义这个content。好,嗯。啊,在这里边儿我写一个什么呢,我们简单来了啊,写一个我已成年。
15:01
我已经是一个成年人了。诶,我已经是一个成年人,好就这样,然后另外我们把这个CT2里边,诶把这个呢,复制一下CTRLC。二。这些呢,删一下。好,诶。这个呢,同样啊,这个也删了。把这个呢,粘一下CTRLV好诶我这块呢,也定义一下这个C,诶两个文件,两个不同的文件里边都定义一个同名的模板,同名的模板,而且那我这个另外一个文件里边是不是包含了这个模板对吧,那现在就是诶我这个可以根据这个判断来选择执行哪一个了啊执行哪一个了,来找到我们这个CR2,那这块呢,我改成我还未成年。
16:00
哎,我还未成年,好,我说我还是个小孩呢,对吧。在办公室呢,经常。这个有一个同事叫徐刚,然后呢,这个别人一说话,然后他就能往那个方面来联想。然后呢,什么什么话到他嘴里边一说,就就这个变味了,然后呢,其他同学都说,哎,我还是个孩子,怎么能说这样的话呢?对啊,我还未成年,好啊,就写了一个,他那写完它之后呢,下面我们就要来测试。徐刚,哎,这个记住这个名字啊,徐刚就在另一个班上课呢,好,那这样呢,我们这个就用这个年龄啊,用一下他了,哎,来我们来复制一下他卡C。哎,徐刚记住啊,徐刚徐刚这个,呃,是这个。嗯,我们这个办公室的同事都是被他带坏的。他是一个。诶,我们是不是有那个test方了。然后这个整个。
17:05
来啊,TCTRLC复制一下。二好,然后呢,哎在这里边,哎这样,哎,我们这样,我们定义一个这个什么呢,我们来。整一个年龄,整一个年龄啊,就整它了啊17,然后下面呢,写个判断if。用什么这个A如果。小于,哎,18就写死了啊,如果要小于18,我们让他干什么呢?这样解析模板的时候,文件的时候解析那个。那个我还未成年,那个未成年那个是啥。2.h和。第二个C2是吧,2.hl。我们看一下啊。哎,我还未成年,诶对,没问题啊,没问题,好,那否则,诶那否则小于18,那不一。对啊。
18:00
那就是大于18的了,大于等于18的了,所以呢,这时候呢,我们来解析另一个,哎,已经是成年人了,已经是成年人了。好,诶这块呢,这个不变,把这个改成。一哎1.13L,那同样下边执行的时候,哎,不能调这个方法。Good template template。出来了。好,W。名字,Model model。然后下边这个呢,也就不用要了,不用要了,好就是这个啊。T。包在里边了。这个类型啊。Templation。那不是H。
19:01
嗯。嗯。没有吗?有啊。这怎么报错了呀?Import。哎,我不是倒了吗?Hamlet。写错了。
20:01
哦。嗯。啊,这样。啊,Temp的temp temp这个包是吧,Temp这个包。然后呢,我这一块。冒号我得删掉了,不能这个冒号等于了保存一下好了啊,这是我们这个来测试,在不同的文件里面来定义一个相同名字的一个模板,好现在呢,我们来测试一下,那现在呢,这个edge呢是小于18的,所以呢,它要这个进第一个if来执行我们这个C2啊二,所以呢,就能显示这个什么呢?哎,我还未成年,我们来看一下。C。狗的,慢点够。慢点,一个一个。啊,来测试我们的。啊,我这个还没写是吧。
21:02
Past。这个因式还没写上二。重新来。写错了。又写错了。好。来啊,二。诶,我还未成年,我还未成年啊,显示的是我们这个,呃。C2啊,C2里边的,那当然了啊,你如果要把这个改一下啊,它就会进行一个else里边了啊,就是这个C1里边的那种,哎,就能显示一个,诶我已经是一个成年人了啊年人了这个啊这个也简单啊,就是这个如果要多个文件里边都有这个account你包含的时候呢,你可以这个根据这个条件来选择,那如果这个这个呢,它都不满足怎么办呢?就是我们下边要说的这个,你可以通过这个块动作,哎宽中呢来定一个默认的,如果这个都找不到,哎都找不到它这个呃呃,没有满足两个文件里边这个看呢,都不满足我的要求,那这后怎么办呢?你就可以用它就相当于设置了一个默认的了啊,是这个默认的了,诶定义模板的时候呢,诶,在下边我们用一个。
22:19
哎,Block count,就是我来相当于指定一个默认的这个模板,如果这个其他文件里边虽然定义它了,但是呢,都不符合我要求,怎么办呢?那我就选择它了啊,就选择它了,诶这是这个啊,这是这个,通过这个。这个block啊,Block通过它那下边也说了啊,修改这个6.45模板那个hello.a天八里边这个内容修改。那我们就是那个DEFINE2里边这个内容了啊,DEFINE2里边内容了,修改完之后呢,用这个block count来定一下,如果找不到的就显示它,显示它啊下边呢,这个修改修改这个处理器这块,你看第二个呢,我我不解析那个content了,如果满足的话,比如我去掉一个去掉一个,哎,那这时候呢,我就比如把那个第二个文件不解析它了,那不解析它了,第一个也不满足,那count里边有有那个count一点A点里边有那个count的模板,那第二个count,其实COUNT2里边也有那个模板,但是呢,我这个解析的时候没有解析那个模板文件,那就意味着哎,我找不到那个呃content了,那找不到content干什么呢?就用我们指定的这个,诶这个用block content啊,用它来进行来进行这个指定一个默认的了啊,默认的了,好我们也可以改一下啊,今天呢,我们就稍微改一下,找到我们那个。
23:33
哎,找到这个,哎,点DeFine的一个model,然后呢,下边我们来就写,来写一个这个默认的啊。这个叫啥呀?Con。哎,写个他。写个什么呢?哎,谁知道你的年龄是假的吧?
24:04
啊,就写一个它了,如果这个找不到,那就显示它最后呢,写一个N的。好,哎,你的年龄是假的吧,我们看一下我们这个写错了没啊B。B啊,没问题啊B。比CK好,哎,我现在呢,定义了一个相当于这一个块动作啊,块动作就相当于设置了一个默认的一个counter的块动作,我把这个呢主释也写一下。诶,默认的一个count的一个模板,好哎,那现在有了它之后呢,诶我们改一下我们刚刚写的那个在这一块,诶我解析了这个DeFine2.1前面,诶现在呢是呃A等于17,哎小于18应该进这个,那现在呢,我这样,我第二个C点一前L里边不传了,那这能看懂吗?
25:06
那不传的话,我现在要这个解析这个defend2.13L,诶他发现这里边呢,是不是要包含一个content的,但是现在没有传这个content的2.al,诶按正常来说,是不是应该显示我还未成年。对吧,哎,Y也不说是年,那现在呢,他找不到了,因为他没有解析它,没有解析它,哎,那因他找不到,怎么不找C1呢?因为他是不是不满足这个要求,这个要求啊,对吧,所以它不解析它,哎不解析它哎不解析它不执行它吧,所以这时候呢,就用我们那个默认的了,默认的那个块里边定义的那个啊,就这里边定义的那个你的年龄是假的吧,就会执行它了,好我们来看一下CTRC。够溜达,慢点勾。好,来。慢点,一个exe。好来我们刷新一下刷新诶。有出错了。
26:07
啊,写错地儿了是吗?Content。跑错了。保存。Model。Model没问题吧?来啊,刷新一下。一。
27:00
我写错了吗?没有吧?如果找不到就要显示,然后呢定义。End。啊,对,这个呢。对这个就可以删了是吧。啊跨动作啊快动作,诶那个就可以删了,那我这块解析的时候啊,解析的时候这个count的count的这是一诶。然后我们现在呢,用的是这个啊COUNT2啊,我把count给删了,然后直接解析这个,呃,DeFine2.count,如果它这个找不到啊,找不到这个count定义,哎,找不到count定义呢,就用这个我们默认的那个块动作了啊,这也不对啊。DEFEND2。我哪写错了吗?Con。
28:01
Content end。没问题啊。定义模板。块动作。定义模板块动作。CONTENT2。少了一个。想写一个啥?少写了一个点。上写这个点啊,上写这个点来把这个不能清啊,不能清一清就关了。嗯。诶好了啊,反应慢啊,啊现在没问题了啊,你的年龄是假的吧,哎,你的年龄是假的吧,这是我们这块啊,这个块动作啊快动作,也就是说如果这个呃,你在多个文件多个模板文件里边定义了这个相同名字的一个模板,呃,相同名字的模板,那这个时候呢,呃,如果啊,你这个在传文件的时候,在解析文件的时候,你解析的这个当前这个哎文件当前这个文件里边,比如包含某一个模板,这个模板呢,它在另外好多文件里边都定义了,那这时候你解析的时候,如果你比如这个那几个文件里面,比如都不满足了,或者你根本就没有解析,你可以用一个块动作来指定一个相当于默认的啊,默认要显示的一个内容,就用这个block啊,Block来count的,指定下这个模板的这个名字,然后呢,后边这个点啊,这个点有个点啊,不要忘了点读了,刚刚是吧,然后这个,所以呢,显示不了了啊显示不了了,这是我们这个定义动作,哎,还有这个块动作,哎块动作。
29:32
好,下课休息一下。
我来说两句