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

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

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

1.起因

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

2.問題

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

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

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

3.分析

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

4.期待

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

5.解決

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

思路就是把所有的AngularJS模塊動態(tài)維護(hù)在一個全局?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);

};

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

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

angular.bootstrap(document, [modulename]);

替換成

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

  Confirm(modulename);

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

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

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

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

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

相關(guān)文章

最新評論

鲁山县| 将乐县| 菏泽市| 山阴县| 白沙| 新巴尔虎左旗| 嘉善县| 马鞍山市| 兴安县| 霍邱县| 布拖县| 原平市| 柏乡县| 信丰县| 祁连县| 五常市| 河北区| 鱼台县| 新疆| 通化市| 延川县| 河曲县| 兴义市| 镇沅| 金阳县| 浪卡子县| 苏州市| 崇阳县| 马公市| 克拉玛依市| 元谋县| 凤山市| 南安市| 江永县| 东城区| 长白| 陈巴尔虎旗| 师宗县| 肇庆市| 正定县| 五家渠市|