$state.params
に従って変更するダイナミックボタンを使用してng-repeatを作成したいので、それらをディレクティブでラップしました。Angularjs 1.5ディレクティブ要素htmlを置き換えます
link:function(scope,element,attrs) {
$rootScope.$watch('params.source',function() {
var link = scope.link;
var name = scope.name;
var href = $state.href('home',{source:link});
if($state.params.source.indexOf(scope.link) == -1) {
var template = '<a href="'+href+'" class="btn
btn-default">'+name+'</a>';
}
else template = '<a href="'+href+'" class="btn
btn-default">'+name+' what!?</a>';
el = $compile(template)(scope);
element.replaceWith(el);
});
}
しかし、私はelement
を置き換えることができますどのようparams
の最初の変更後、element
を忘れてしまったとCannot read property 'replaceChild' of null
と答え?
編集:私は、私はNG-ショーやNG-場合
感謝を使用することはできません理由です、最終製品に他のsowmething用素子全体を交換する必要があります!
ありがとうCraig、 "what"部分はコンセプトが動作するかどうかだけを確認することに言及するのを忘れました。条件を満たしていれば、ボタン全体を別のものに交換するためにこれを行います。私は全体を置き換える必要があるので、ng-hide/showで動作させる方法を見つけることができません。私は私の質問で明確にします。 – thomas
内容が異なる2つの異なるタイプの要素を切り替えるだけですか? 'a'タグと' div'タグのように? – CraigR8806
考えられるのは、アクティブなときにボタンをいくつかのボタン(サブメニュー)と入れ替えることです。だから、 '$ state'が変わったときに' a'と 'a'のリストを切り換える必要があります。(元のものではありません) – thomas