最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

AngularJS ng-template寄宿方式用法分析

 更新時(shí)間:2016年11月07日 10:57:28   作者:破狼  
這篇文章主要介紹了AngularJS ng-template寄宿方式用法,結(jié)合實(shí)例形式分析了ng-template模板的相關(guān)使用技巧,需要的朋友可以參考下

本文實(shí)例講述了AngularJS ng-template寄宿方式用法。分享給大家供大家參考,具體如下:

如果你是一個(gè)angular的開發(fā)者的話,對(duì)于ng-html2js你應(yīng)該 很熟悉。對(duì)于angular的指令,我們經(jīng)常需要定義模板( directive template/templateUrl),你可以選擇講html page 放在真正的的web容器中寄宿,也可以選擇angular的ng-template 放在view的page之上,抑或也可以講html打成一個(gè)js文件和directive 的js文件合并在一起發(fā)布。

對(duì)于直接寄宿在web容器.

這很簡(jiǎn)單,直接放在jetty,tomcat,iis, 抑或node express public目錄下。這里沒(méi)什么可以多說(shuō)的,所以我們跳過(guò)。

angular ng-template模板:

代碼如下:

<script type="text/ng-template" id="/tpl.html">
   Content of the template.
</script>

這將會(huì)在angular的compile時(shí)候解析,angular將會(huì)把它放在angular的$templateCache 中。

對(duì)于$templateCache,如其名 這是angular對(duì)模板的緩存的service。在啟用了$templateCache的$http ajax請(qǐng)求, angular將會(huì)首先在$templateCache中查找是否有對(duì)此url的緩存:

$templateCache.get('templateId.html')

如果存在緩存,著angular將會(huì)直接用緩存中獲取,并不會(huì)在發(fā)送一次ajax。 對(duì)于所有的指令和模板angular默認(rèn)啟用了templateCache。

這在于angular所處理的模式開發(fā)很有關(guān)系的。我們經(jīng)常提到的SPA(single page application) 我們把view的顯示處理等表現(xiàn)邏輯推到了前段,而后端提供只與數(shù)據(jù)有關(guān)的soap/restful service 這樣對(duì)于一個(gè)應(yīng)用程序業(yè)務(wù)邏輯來(lái)說(shuō)不變的是處理數(shù)據(jù)的業(yè)務(wù)邏輯,這份邏輯你可以共享在不管前端是mobile app 或者是瀏覽器,或者winform gui的圖形化程序,因?yàn)閷?duì)于同一個(gè)業(yè)務(wù)這是不變的。將view的分離推到各自的客戶端 將是更好的解決方案。

回到angular $templateCahce,對(duì)于一個(gè)應(yīng)用程序view的分離,之后在對(duì)于當(dāng)前的應(yīng)用程序平臺(tái),html/js/css 這類資源是靜態(tài)的,最好是不變的,那么你可以自由的緩存在客戶端,減少服務(wù)器的交互,以及為了更大的性能追求,我們 可以把這類靜態(tài)資源放在Nginx這里反向代理或者CDN上,讓我們的程序獲取更大的性能和擴(kuò)展空間。

回到angular的ng-html2js:

有了上邊對(duì)于$templateCache的理解,那你應(yīng)該很容易理解html2js的方式了,與ng-template不同的 是ng-template是angular在compile的時(shí)候自動(dòng)加入$templateCache的,html2js是我們?cè)陂_發(fā) 時(shí)候利用build自己放入$templateCache。

angular.module('myApp', [])
 .run(function($templateCache) {
   $templateCache.put('templateId.html',
     'This is the content of the template'
   );
 });

形如上面的輸出,將html文件打成一個(gè)js文件。

這你也許在angular的單元測(cè)試karma unit test中看見過(guò), karma-ng-html2js-preprocessor ,還有如果你也希望在build時(shí)候做到如此,那么你可以使用grunt plugin grunt-html2js.

但使用grunt plugin的前提是你在你的項(xiàng)目中引入的grunt build的work flow,那么你可以在gruntfile.js中幾行代碼輕松的搞定。但是如果 你和我一樣使用的是java的maven或者是gradle 作為build,那么你可以嘗試博主的maven plugin  nghtml2js. 使用方式如下:

<plugin>
  <groupId>com.github.greengerong</groupId>
  <artifactId>nghtml2js</artifactId>
  <version>0.0.3</version>
  <configuration>
    <module>demo.template</module>
    <html>${project.basedir}</html>
    <extensions>
      <param>tpl</param>
      <param>html</param>
    </extensions>
  </configuration>
  <executions>
    <execution>
      <id>nghtml2js</id>
      <phase>generate-resources</phase>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>

希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • angular4強(qiáng)制刷新視圖的方法

    angular4強(qiáng)制刷新視圖的方法

    今天小編就為大家分享一篇angular4強(qiáng)制刷新視圖的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • angular4自定義表單控件[(ngModel)]的實(shí)現(xiàn)

    angular4自定義表單控件[(ngModel)]的實(shí)現(xiàn)

    這篇文章主要介紹了angular4自定義表單控件[(ngModel)]的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 詳解angular2封裝material2對(duì)話框組件

    詳解angular2封裝material2對(duì)話框組件

    本篇文章主要介紹了詳解angular2封裝material2對(duì)話框組件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • Angular Material Icon使用詳解

    Angular Material Icon使用詳解

    這篇文章主要介紹了Angular Material Icon使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Angular.js初始化之ng-app的自動(dòng)綁定與手動(dòng)綁定詳解

    Angular.js初始化之ng-app的自動(dòng)綁定與手動(dòng)綁定詳解

    這篇文章主要給大家介紹了關(guān)于Angular.js初始化之ng-app的自動(dòng)綁定與手動(dòng)綁定的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • 在Angular中使用Renderer2的操作代碼

    在Angular中使用Renderer2的操作代碼

    Renderer2 類是 Angular 提供的一個(gè)抽象服務(wù),允許在不直接操作 DOM 的情況下操縱應(yīng)用程序的元素,本文給大家介紹了如何在 Angular 中使用 Renderer2,文中通過(guò)代碼示例給大家講解的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Angular實(shí)現(xiàn)下載安裝包的功能代碼分享

    Angular實(shí)現(xiàn)下載安裝包的功能代碼分享

    本文通過(guò)實(shí)例代碼給大家介紹了angular實(shí)現(xiàn)下載安裝包的功能以及基于angularjs代碼實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)的功能,需要的朋友參考下吧
    2017-09-09
  • AngularJS 路由詳解和簡(jiǎn)單實(shí)例

    AngularJS 路由詳解和簡(jiǎn)單實(shí)例

    本文主要介紹AngularJS 路由,這里整理了相關(guān)資料進(jìn)行詳細(xì)介紹,并附實(shí)例代碼和實(shí)現(xiàn)效果圖,有需要的小伙伴可以參考下
    2016-07-07
  • AngularJS ng-mousedown 指令

    AngularJS ng-mousedown 指令

    本文主要介紹AngularJS ng-mousedown 指令,這里幫大家整理了ng-mousedown 指令的基本資料,并附代碼示例,有需要的朋友可以參考下
    2016-08-08
  • AngularJS全局警告框?qū)崿F(xiàn)方法示例

    AngularJS全局警告框?qū)崿F(xiàn)方法示例

    這篇文章主要介紹了AngularJS全局警告框?qū)崿F(xiàn)方法,結(jié)合實(shí)例形式分析了AngularJS全局警告框的實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05

最新評(píng)論

青冈县| 梓潼县| 安福县| 布尔津县| 广州市| 霸州市| 福贡县| 阿克| 安顺市| 自贡市| 乡宁县| 尤溪县| 彰化县| 长乐市| 孟连| 湟源县| SHOW| 承德市| 墨脱县| 宜昌市| 玉屏| 旬阳县| 赣州市| 广平县| 金川县| 托克逊县| 耒阳市| 武宁县| 望江县| 阿克苏市| 雅江县| 苏尼特左旗| 大厂| 南通市| 松桃| 武鸣县| 肥城市| 马公市| 谢通门县| 邵阳县| 凉山|