av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

javascript - angular.js 中的雙花括號{{}}問題

瀏覽:154日期:2024-03-03 16:56:10

問題描述

<p ng-controller='listCtrl'> <h1>這是列表頁面</h1> <ul><li ng-repeat='item in myList'><a href='http://www.4tl426be.cn/wenda/13666.html#/myDetail/{{$index}}'>{{item}}</a></li><li ng-repeat='item in myList'><button ng-click='jump(’/myDetail/’+$index)'>{{item}}</button></li> </ul></p>

如題,如上的代碼中,我需要取到$index值作為參數,在第一個li中需要加{{}}才能取到值,而第二個li中不需要加;這個該如何區分??

問題解答

回答1:

在原生html里面為了解析數據,需要使用{{}}來綁定數據,而ng的命令后面沒有這需要。

回答2:

{{ $var }}包裹的模板變量,當需要直接輸出變量值,而無需額外解析(如過濾器處理、作為指令參數、作為函數參數)時使用,反之,ng-click='jump(’/myDetail/’+ $index)' 是在指令中調用的參數

回答3:

簡單的判定標準就是

如果當前屬性所賦值的類型為字面量類型,比如html模板中的屬性,或者指令中以@為修飾符的屬性,那么賦值的時候如果不加雙花括號,均是按字面量來算的,想要按變量的方式解析,就需要加雙花括號。

如果當前屬性所賦值的類型是非字符串類型,比如angular模板中的各種內置指令,或者指令中以<、=、&修飾的屬性,那么賦值的時候會按js的語法規則進行解析,這種情況就不需要加花括號了。

回答4:

先說明下Angular中的兩種類型:

模板:格式為{{...}},實質是字符串,會被解析引擎展開成可以識別的字符串文本表達式:可以直接運行的代碼,和JS寫法基本一致,只是省略了所有的this。

然后你可以參照一下上下文,確定你現在是在寫類似JS的部分,還是在寫一個字符串文本,這樣就容易判斷你是需要模板還是表達式了。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 狠狠入ady亚洲精品经典电影 | 久久久久久免费观看 | 亚洲欧美日韩久久久 | 91视频一区二区三区 | 在线观看av网站 | 亚洲+变态+欧美+另类+精品 | 久久久性 | 第一av| 精品一区二区三区入口 | 久久狠狠 | 成人一区二区视频 | 超碰免费观看 | 久久精品免费一区二区三 | 久久久精品网站 | 国产精品毛片av | 日韩欧美中文在线 | 四虎永久免费地址 | www,黄色,com | 国产久| 久久婷婷香蕉热狠狠综合 | 在线观看中文字幕一区二区 | 99热在线观看精品 | 色资源站 | 九九国产| 久色视频在线观看 | 久久久91精品国产一区二区三区 | 91久久国产综合久久 | 狠狠干综合视频 | 看羞羞视频免费 | 中文字幕日韩一区 | 欧美8一10sex性hd | 国产精品久久久久久久久免费 | 一区二区三区网站 | 中文字幕不卡视频在线观看 | 欧美亚洲一区二区三区 | 97精品一区二区 | 欧美a在线 | 99国产精品99久久久久久 | 理论片午午伦夜理片影院 | 91在线精品一区二区 | 日韩视频免费看 |