2016-11-07 12 views
1

私はAngularJSで書かれた単一のページアプリケーションを持っています。私は宣言的サポートで使用しているUI5テキストフィールドを(テスト目的のために)そこに配置する必要があります。AngularJSでUI5が動作しない

  1. index.htmlを
  2. sap.html:

    は、私は2つのファイルを持っています。

私は<div class="mainView" ng-view></div> を持っています。そこで、私はindex.htmlにsap.htmlを挿入します。

私は私のindex.htmlでこの行を書くとき、私は樹液のテキストフィールドを参照してください。

<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(「注入角度ビュー」ページ)では発生しません - 私はちょうど "現状のまま"のタグを見ています - 注入ページのDOMは評価されませんでした。

  • どうしてですか? AngularJSのブートストラップまたはライフサイクル はSapブーストラップに干渉しますか?
  • これを修正する方法はありますか?

AngularJSは既存のアプリの一部であるため、AngularJSを使用する必要があります。アプリの書き換えは私の選択肢ではありません。

おかげ

答えて

1

私は、このシナリオに出くわしたことはありませんし、本当にこの良い解決策を検討(これは私の意見です)はありません。私はなぜUI5がAngularJSのマークアップを動的に認識しているのを知っていると思いますか?

ただし、documentationは、動的に読み込まれたマークアップをコンパイルする方法の例を示しています。明らかに、AngularJSはngViewコンテンツのリロードをリッスンするイベントを提供します。おそらく、そこでコンプライアンスを引き起こす可能性があります。

+0

このコードをhtmpページに入れてみましたが、cgromeコンソールでこのメッセージが表示されます - Uncaught TypeError:sap.ui.core.plugin.DeclarativeSupport.compileは関数ではありません(...) components-module.js:117読み込まれたメッセージ – Matoy

+0

sap.ui.core.DeclaritiveSupport.compileを試してください。 – matbtt

関連する問題