2016-12-30 3 views
0

と事業部の構造を作成するために、どのように私は何をしたいですjQueryのは、私は、この使用して角度をarchieveすることができますどのように何かがあるこのは、角度

function openPrivateChatWindow() { 
    var div = '<div id="' + ctrId + '" class="ui-widget-content draggable" rel="0">' + 
      <div class="header">' + 
       '<div style="float:right;">' + 
        '<img id="imgDelete" style="cursor:pointer;" src="/Images/delete.png"/>' + 
         '</div>' + 
         '<span class="selText" rel="0">' + userName + '</span>' + 
         '<span class="selText" id="msgTypeingName" rel="0"></span>' + 
       '</div>' + 
        '<div id="divMessage" class="messageArea">' + 
        '</div>' + 
        '<div class="buttonBar">' + 
         '<input id="txtPrivateMessage" class="msgText" type="text" />' + 
         '<input id="btnSendMessage" class="submitButton button" type="button" value="Send" />' + 
      '</div>' + 
        '<div id="scrollLength"></div>' + 
    '</div>'; 
} 

ような何かを、それがある場合、例えば私はそのためのいくつかのHTMLテンプレートを読み込むことができれば、それを行うためにどのように最善の方法何だろうそれともjQueryを使ってここに示したようにしますか

+0

角度成分を見てみましょう、彼らはあなたの現在のアプローチより多くのよりよいあなたのコードを読んで作る別のテンプレートファイルを使用することができ、私はまた、角度に任意のHTML/DOM操作を抽象化のルートを下るだろうあなたのアプリを壊さずにスワップすることができます。https://docs.angularjs.org/guide/component – Dale

+0

オンザフライでDOM要素を作成することはあまり効果がありません。独自のテンプレートでカスタム角度指示句を使用し、ユーザーがUIとやりとりすると、それを表示する必要があります。 – codeepic

+0

チップをありがとう、すぐにそれをチェックするつもりです。 – Martin

答えて

1

コントローラ内からDOMノードにhtmlノードを追加しないでください。 カスタムディレクティブを使用するか、ng-ifを使用してdivを非表示にして、ボタンをクリックすると表示されるようにします。

$scope.isChatHidden = true; 
$scope.openPrivateChatWindow = function() { 
    $scope.isChatHidden = false; 
} 


<div ng:if="isChatHidden"> 
    Other DOM Elements 
</div> 
+0

私はdata-ng-ifスタイルのファンですが、これはまったく同じように動作します。 – Dale

+0

シンプルですが、私はx:ng:ifスタイルを好む。鍵の押下やコロンをキーボードで探すのが簡単です。笑)私は怠惰だ;) – JSNinja

+0

これはかなりシンプルなので、基本的に私は私のアプリに記録されているすべてのオンラインユーザーを表示する私のng-repeat divにプライベートチャットボックスのHTMLコードを挿入します。 Thats rly cool、thanksありがとう – Martin