我在项目中使用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
答案 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>
如果您想要其他任何内容,请告诉我,谢谢:)