2016-08-09 25 views
1

私は指示に応じてディレクティブを設定しようとしています。Angularjs - dom要素に動的にディレクティブを挿入します。

それでは、私は、この入力を持っているとしましょう:私は動的にそれが動作しません「setAttributeメソッド」を使用して「maskvalue」を挿入しようとすると、

<input type="foo" id="myinput" maskvalue> </input> 

これは私のアプリで正常に動作し、問題がある、ここにあります私は今何をしようとしている:

element = document.getElementById('myinput'); 
if(element){ 
    element.setAttribute('maskvalue', ""); 
} 

このコードが正常にDOM要素に自分のディレクティブを挿入しますが、何の効果がかかりません。すでにロードされているときにdomにカスタムディレクティブを挿入することは不可能だと私は間違っていますか?

しかし、基本的に質問ですが、どのようにしてdomエレメントに動的にディレクティブを挿入できますか?

おかげ角度-IZEこれに

+1

角度を取得するには、$ compileの暗い魔法を使用する必要があります。http://onehungrymind.com/angularjs-dynamic-templates/ – dmoo

答えて

3

使用角度の$compileコマンド。基本的には、Angularに通知して、あなたが変更を加えて魔法を行えるようにする必要があります。

function MyController($scope, $compile) { 
    element = document.getElementById('myinput'); 
    if (element) { 
     element.setAttribute('maskvalue', ""); 
     $compile(element)($scope); 
    } 
} 

あなたは$compileとそれに注入$scopeを持っている角度コントローラでこれを行うことを確認してください。

+0

ありがとうたくさんの男:) – user309838

関連する問題