亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

angularjs的作用域 @&=

標簽:
AngularJS

       从16年年底就在学习ng,但是一直对它的作用域@&=模糊不清,查资料也深感晦涩。直到今天写项目,这几天写下来,才渐渐的对其有所了解。

首先,这是我自己做的一个组件,是一个文本框的组件,如下:

700

来解释一下这个组件,有五个参数,分别是ljl,ljt,ljtip,ljd,ljf。这几个参数均可自行设置值。

ljl是用来控制文本框的最大输入字数。

ljt是用来显示文本框里面的文字,一般是从数据库去出来,显示在这里面。

ljtip是用来设置文本框的错误提示信息。

ljd是用来控制错误提示信息是否让他显示,true /false。

ljf是文本框的事件,这个我给了一个ng-blur。

其次,重点就来了,下面就重点介绍一下@&=这几个作用域的含义:

700

这是指令directive内容

这就是我的自定义指令,写在scope里面。那么我的理解就是:

1:ljl:"@": 这个作用域相当于ng-model,但是为什么用@呢?我的理解是它在自定义元素里面给死了值,拿着这个model(ng-model)就可以在具体的组件里面显示了,而在controller里面是不能进行重复定义的,例如:

130

这个是自定义元素里面定义的

346

这个就是我自己写的组件,在组件里就可以直接用,300就会直接显示

2:ljt:"=": 这个作用域也是相当于ng-model,同样的问题,为什么用=呢?我的理解是:这个ljt是我定义的文本框内容,上面说到了,有可能是数据库取出来的,那么,从哪里取的呢?肯定是数据库了。所以,controller便是页面和后台相互交互的一个桥梁。所以,这个ljt肯定是在controller里面定义的全局变量,然后在组件里去用它,例如:

158

这个是自定义元素里面定义的

535

这个就是controller里面的,就相当于数据库去出来的内容

416

这个就是自定义的组件里面,我要显示的

3:ljf:"&":这个作用域也相当于ng-model;但是为啥要用它呢?前面说了,我给这个文本框一个ng-blur事件,所以,不用解释,这个&符就是用于绑定方法的了,例如:

169

这个是自定义元素里面定义的


501

这个就是a1s自定义的方法

178

这个就是自定义组件里面的绑定方法

到此为止,我对作用域的这三个符号的理解就说完了。这也只是目前我对他们的认识。欢迎指正!



作者:杨立军
链接:https://www.jianshu.com/p/5e0ac9d6a24c


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消