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

AngularJS模塊管理問題的非常規(guī)處理方法

 更新時(shí)間:2015年04月29日 09:51:13   投稿:hebedich  
這篇文章主要介紹了AngularJS模塊管理問題的非常規(guī)處理方法,算是一個(gè)無奈之舉,分享給小伙伴,大家可以參考下。

1.起因

自己一直做winform,有幸從某個(gè)大神手里接了一個(gè)node.js,express,angularJS等集眾多開源框架的一個(gè)項(xiàng)目,趕鴨子上架,于是一邊學(xué)習(xí),一邊用自己以往的思中去整理,重構(gòu)代碼;

2.問題

在某幾個(gè)環(huán)境下,需要用BootStrap的模態(tài)框,咱是學(xué)win的么。。 自然而然的想到將boosStrp的模態(tài)框整成一個(gè)通用的東西,四處調(diào)用 。。。

于是用patial引用對話框文件,對話框本身用anglurJS進(jìn)行了服務(wù)器相關(guān)的通訊 。

后來發(fā)現(xiàn),當(dāng)只用一個(gè)的時(shí)候是好用的,如果多次引用 (調(diào)用不同的數(shù)據(jù))那么只有一個(gè)好使。。

3.分析

查了一些資料才明白, angular.bootstrap 這個(gè)調(diào)用在頁面上只能執(zhí)行一次,多執(zhí)行就不好用了,而我之前將所有的angular.module都寫成了單獨(dú)的JS文件中,每一個(gè)JS文件最后都調(diào)用了 angular.bootstrap 所以,自然而然的會掛掉;

4.期待

于是,想有一種解決機(jī)制,讓我可以隨意的partial各種文件到頁面中, 并且js文件之間不會重復(fù)引用 ,angulurJS也能完美執(zhí)行;

5.解決

親們——雖然這個(gè)方式有點(diǎn)惡心,但是絕對直接有效;

思路就是把所有的AngularJS模塊動態(tài)維護(hù)在一個(gè)全局?jǐn)?shù)組,然后進(jìn)行動態(tài)的加載

不說了,貼代碼

在框架頁(layout ...)head處引用 angulurinit.js文件,代碼如下:

Array.prototype.indexOf = function (val) { 
  for( var i = 0; i < this.length; i++) {
    if(this[i] == val) return i;
          }
  return - 1;
      };
var jsModules = new Array();
function Confirm(val){
  if (jsModules.indexOf(val) > -1)
    return;
  else
    jsModules.push(val);

};

將每一個(gè)anglur.js模塊內(nèi)的

復(fù)制代碼 代碼如下:

angular.bootstrap(document, [modulename]);

替換成

復(fù)制代碼 代碼如下:

  Confirm(modulename);

在layout(布局頁?我也不知道叫啥,反正是那個(gè)公共的框架頁)尾部加入angulur.js文件,代碼如下:

復(fù)制代碼 代碼如下:

(function () {
    var app = angular.module('app', jsModules);
    angular.bootstrap(document, ['app']);
})();

嘿嘿~~ 我惡心了。。。 惡心到您了沒?

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

最新評論

九江市| 应城市| 措美县| 宜丰县| 土默特左旗| 特克斯县| 文登市| 个旧市| 周口市| 泽州县| 芜湖市| 瑞昌市| 金溪县| 烟台市| 汕头市| 遵义市| 中山市| 甘泉县| 榕江县| 丰都县| 大关县| 城口县| 新安县| 兴化市| 定南县| 金川县| 松桃| 天镇县| 新邵县| 进贤县| 黑河市| 基隆市| 临邑县| 诸城市| 卫辉市| 潞城市| 东源县| 江达县| 莫力| 五河县| 达州市|