使用"选择"的冲突使用bootstrap-multiselect与multiselect下拉列表中的属性并与angularjs冲突"选择"指示

时间:2015-04-04 22:13:05

标签: angularjs angularjs-directive angularjs-ng-repeat ng-repeat bootstrap-multiselect

我在项目中使用bootstra-multiselect和angularjs。在测试期间,我找到的是"选择"属性名称在这两者之间发生冲突。以下是我的多选指令的HTML标记。

<select id="example-getting-started" multiple="multiple"  name="multiselect[]" data-dropdownmultiselect>    
    <option data-ng-repeat="option in options" value="{{getOptionId(option)}}" data-ng-attr-selected="{{isOptionSelected(option)}}" data-ng-bind-template="{{option.name}}"></option> 
</select>

我发现,data-ng-attr-selected="{{isOptionSelected(option)}}"没有被angularjs编译。看起来像角度js&#34; ng-selected&#34;指令正在应用而不是我所需的普通属性。

怎么能解决这个问题?我不想更改代码或bootstra-multiselect或angularjs以避免将来的维护。 Angularjs中是否有东西停止运行其预定义的&#34; ng-selected&#34;指示?

以下是用于演示此问题的plunker代码 Angularjs and conflict of directive name with other module

1 个答案:

答案 0 :(得分:1)

您可以使用ng-selected="expression"在当前selected选项中添加selected属性select值,我不明白为什么要这样做ng-attr虽然你可以使用ng-selected="isOptionSelected(option)"

来控制它

<强>标记

<select id="example-getting-started" multiple="multiple"  name="multiselect[]" data-dropdownmultiselect>    
    <option data-ng-repeat="option in options" value="{{getOptionId(option)}}" 
    ng-selected="isOptionSelected(option)" 
    data-ng-bind-template="{{option.name}}"></option> 
</select>

Working Plunkr

如果您想要其他任何内容,请告诉我,谢谢:)