0

今日、私が取り組んでいるアプリで、更新が必要なディレクティブに多数のリンクがあり、リンク関数内で $compile サービスを使用すると、簡単に修正できることが証明されたこの問題に遭遇しました。(これは最良の修正ではありませんが、別の日にします。)

とにかく、私のリンクはすべて台無しになりましたが、{{var| 内から単一のスペースを削除した後 filter}} ステートメント、すべてが修正されました! これを理解することはできませんが、要素の属性に固有のようです (他の HTML 要素をコンパイルするテストを考えると)。

問題を示す実際の例を次に示します: http://jsbin.com/IRogUxA/10/edit。(おかしな/不自然なディレクティブの定義を許してください-それは今日の多くの実験の進化です!)

これはバグですか?または、エラーが発生しやすい問題へのアプローチ方法を示していますか? 両方?何が起こっているのか分かりますか?

ありがとう!

4

1 に答える 1

3

問題は、コンパイルしている html にあります。あなたはこれを持っています:

var temp1 = $compile('<a href={{isolateVar|toDate:false}}>A LINK THAT WORKS</a>')(scope);
var temp2 = $compile('<a href={{isolateVar| toDate:false}}>A LINK THAT DOES NOT</a>')(scope);

にはhref引用符がないため、スペースがある場合、href 属性の値は{{isolateVar|

に引用符を追加するだけで、href必要な値全体が取得されます

var temp1 = $compile('<a href="{{isolateVar|toDate:false}}">A LINK THAT WORKS</a>')(scope);
var temp2 = $compile('<a href="{{isolateVar| toDate:false}}">A LINK THAT DOES NOT</a>')(scope);
于 2013-10-09T22:56:34.790 に答える