ng src 和 ng href的妙用

2021-07-23 05:48:55 字數 760 閱讀 7751

文章參考

五、特殊的ng-src和ng-href

在說明這兩個指令的特殊之前,需要先了解一下ng的啟動及執行過程,如下圖:

1) 瀏覽器載入靜態html檔案並解析為dom;

2) 瀏覽器載入angular.js檔案;

3) angular監聽 domcontentloaded  事件,監聽到時開始啟動;

6) 根據$injector服務建立$compile服務用於編譯;

7) $compile服務編譯dom中的指令、過濾器等;

8) 使用ng-init指令,將作用域中的變數進行替換;

9) 最後生成了我們在最終檢視。

可以看到,ng框架是在domcontent載入完畢後才開始發揮作用。假如我們模板中有一張如下:

為了避免這種情況,我們使用ng-src指令,這樣在路徑被正確得到之前就不會顯示找不到。同理,標籤的href屬性也需要換成ng-href,這樣頁面上就不會先出現乙個位址錯誤的鏈結。

順著這個思路再多想一點,我們在模板中使用}顯示資料時,在ng編譯完成之前頁面上豈不是會顯示出大括號及裡面的表示式?確實是這樣。為了避免這個,ng中有乙個與}等同的指令:ng-bind,同樣用於單向繫結,在頁面剛載入的時候就不會顯示出對使用者無用的資料了。儘管這樣你可能不但沒舒心反而更糾結了,}那麼好用易理解,還不能用了不成?好訊息是我們依然可以使用。因為我編寫的是單頁面應用,頁面只會在載入index.html的時候出這個問題,只需在index.html中的模板中換成ng-bind就行。其他的模板是我們動態載入的,就可以放心使用}了。

Augular中 src和ng src的區別

src 是 html的屬性,是 ng 的表示式,表示式可用於很多地方,包含屬性,所以直接 src 其實就是使用ng的表示式給屬性賦值,這種做法的缺點是當第一次載入模板的時候瀏覽器會去請求 的位址,當ng編譯模板後把 替換成對應的url後會再次請求真實的位址,所以為了避免第一次無效的請求,ng 自帶了...

angular中iframe的ng src屬性

如果直接寫路徑到iframe標籤裡的ng src中會出現報錯 如果在src屬性中用了 也會出錯 scope.path 路徑 解決方法 1 ng裡面有個服務是專門用來解決跨域問題的 sce。需要注入這個服務 用法 scope.someurl sce.trustasresourceurl 路徑 例 2 ...

字首和的妙用

2019暑期牛客多校第4場 k.number code include includeusing namespace std const int maxn 1e5 10 char s maxn long long cot 4 int sum maxn int main cot sum i 1 cou...