2015-08-30 152 views
-2

所有手動自舉的例子使用下面的模式:如何在沒有引導的情況下執行Angular代碼?

angular.module('myApp', []); 
angular.bootstrap(document, ['myApp']); 

不過,我並不需要的角度看文件,我只需要打開使用的用戶界面,引導模塊彈出。

我能夠做到的最好的是以下幾點:

$("...").click(function() { 
    angular.module("pp", ["ui.bootstrap"]) 
    .config(["$modal", function($modal) { 
    $modal.open({ 
     template: "Hello!" 
    }); 
    }]); 
    angular.bootstrap(null, ["pp"]); 
}); 

然而,這將重新引導角每一次,遍地重新創建相同的模塊,首先它不work-configs與提供程序初始化一起運行,因此當時沒有$模塊依賴項。

基本上,我試圖將角度合併到現有應用程序中,而不會在當前結構中造成顯着的干擾。我想要角色來管理一個彈出窗口,現在沒有別的了,所以普通的引導程序控制器似乎並不是最好的選擇。

有沒有辦法運行該模式而不做全局角引導?

+0

_「我不需要角度來看文檔,」_ - 然後不通過'document'。你可以傳遞任何元素。 – zeroflagL

回答

1

您是否嘗試過對整個文檔進行角度引導,並且根本沒有將它用於除模態調用之外的任何其他內容?除非與當前代碼存在命名空間衝突,否則無需每次引導都可以使用Angular函數。

+0

但是,我將如何使用「角函數」呢?例如,我在角上下文之外,所以我不能以通常的方式訪問這個$模式。我試圖直接使用angular.injector()來獲取$ modal,但是它找不到它(當bootstrapping時,我指定了ui.bootstrap作爲依賴項)。 – Rogach

+0

充其量似乎是hacky,但是當你引導時,設置一個等於旅館角度模態函數的全局變量? – jwkicklighter

+0

即使我選擇了這種方法 - 我該怎麼做?我無法在bootstrap或.config文件中獲得$ modal,因爲提供程序在那時尚未完全初始化。 – Rogach

1

爲什麼不使用只有Bootstrap沒有角包裝?

角度指令只包含原始bootstrap modals與一些額外的東西。

當你可以用Bootstrap本身實現同樣的功能時,似乎對我來說包含Angular + Bootstrap + UI Bootstrap有點無意義。

相關問題