2016-11-07 60 views
1

我有一個用AngularJS編寫的單頁應用程序。我需要在那裏放置一個UI5文本字段(用於測試目的),我正在使用聲明性支持UI5不適用於AngularJS

我有2個文件:

  1. 的index.html
  2. sap.html。

在我的index.html中,我有<div class="mainView" ng-view></div> 並且我在這裏注入了sap.html到index.html。

當我寫這條線在我的index.html我看到了SAP文本字段:

<div data-sap-ui-type='sap.ui.commons.TextField' id='message' class='my-button' data-value='Hello World'></div> 

然而,當我在sap.html文本字段把這個代碼不被顯示在瀏覽器。

當我查看鉻F12源模式 - 我看到UI5相關標籤已被評估到index.html文本框中。這在sap.html中沒有發生(「通過角度ng-view注入」頁面) - 我只是看到標籤「原樣」 - 注入頁面中的DOM未被評估。

  • 爲什麼會這樣呢? AngularJS bootstrap或生命週期 是否會干擾汁液增壓?
  • 有什麼辦法解決它?

我需要使用AngularJS,因爲它是現有應用的一部分。重新編寫應用程序對我來說不是一種選擇。

感謝

回答

1

我從未遇到過這種情況就真的不認爲這是一個很好的解決方案(但是這是我的看法)。我想知道你爲什麼期望UI5知道AngularJS動態注入標記?

但是,documentation顯示瞭如何編譯動態加載的標記的示例。顯然AngularJS提供了一個事件來監聽重新加載的ngView內容,也許可以在那裏觸發compliation。

+0

謝謝回答 - 我試着把這段代碼放在一個htmp頁面,但我得到(在cgrome控制檯中)這條消息 - 未捕獲TypeError:sap.ui.core.plugin.DeclarativeSupport.compile不是函數(...) components-module.js:117加載的消息 – Matoy

+0

嘗試sap.ui.core.DeclaritiveSupport.compile。 – matbtt