2016-07-01 10 views
4

私はmax-tags="1"を割り当てても、それは完全に機能しますが、max-tags="maxtag()"を使用して動的に割り当てようとしたときに、リンク機能を使用していますが、入力ボックスに赤い枠線が表示されています。私はタグの最大数を入れようとしています。すべて正常に動作していますが、入力ボックスは赤色です。 次のテキストイメージのように表示されています。警告のように。それを固定する方法。 enter image description heremax-tagの値を動的に割り当てる方法は?

ワーキングデモ

http://plnkr.co/edit/ooTucE4yqmLwMH9kNkO7?p=preview

<tags-input ng-model="modeldisplay" class="input-md" display- 
property="data" on-tag-removed="removedCustomerTag()" 
    placeholder="Select a User" on-tag-adding="addSearchedTag()" on-tag-added="tagAdded($tag)" 
    enable-editing-last-tag="removedCustomerTag()" replace-spaces-with-dashes="false" max-tags="maxtag()" 
    add-from-autocomplete-only="true"> 
    <auto-complete source="loadTags($query)" min-length="1" load-on-focus="true" load-on-empty="true" 
    max-results-to-show="10" template="autocomplete.html"> 
    </auto-complete> 
</tags-input> 
+0

私は人々がそれを理解することなく投票の質問をしようとする理由を知らない。 – Guest

+0

'='は双方向データバインディングのためのものです。つまり、 'max-tags =" "'はスコープのプロパティを期待しています。 'maxtag()'や数字 '5'のような関数の結果ではありません。あなたのコードは無効で、コンソールには詳細が含まれています –

+0

@goliney、私はあなたに応じて変わりますが、それでも警告の赤い入力ボックスを表示しています... – Guest

答えて

3
ngTagsInputの

ほとんどのオプションは、単にDOMは、このようにあなたがそれらを動的に変更するために補間を使用する必要があり、属性は以下のとおりです。

<tags-input ng-model="modeldisplay" max-tags="{{maxtag}}" ...></tags-input> 

それはうまくいくが、まったく同じではない期待できるかもしれない。できるだけ低い時計の数を維持するため、ngTagsInputはデフォルトではDOM属性をアクティブに監視しないため、上記の{{maxtags}}の式は1回だけ評価されます。あなたの場合、それは十分であるようです。そうでない場合でも、あなたはあなたのmodule`sのconfigブロックでtagsInputConfigProviderサービスを使用して、その動作を変更することができます

app.config(function(tagsInputConfigProvider) { 
    tagsInputConfigProvider.setActiveInterpolation('tagsInput', { 
    maxTags: true 
    }); 
}); 

あなたはngTagsInput documentationにそれについての詳細を学ぶことができます。

最後に、here is your updated Plunker

+0

config関数にパラメータを送る方法はありますか?私のケースでは、内部にngTagsInputを持つ角度成分を作成しました。コンポーネントのバインディングとして、ngTagsInputのデフォルト値を送信したいとします。私はそのバインディングをコンポーネントの設定に送信することを考えていましたが、それでは成功しませんでした。どのように私はこれを達成することができますか? – razp26

関連する問題