具有隔离作用域的AngularJS表单控制指令
我有一个指令来呈现一个带有特定值的select元素。代码如下: 指令的模板:具有隔离作用域的AngularJS表单控制指令,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有一个指令来呈现一个带有特定值的select元素。代码如下: 指令的模板: <select id="{{name}}" class="form-control" ng-model="selectedOption" ui-jq="selectpicker" ui-options='{ iconBase: "famfamfam-flag", tickIcon: "fa fa-check" }'> <option ng-repeat="o in data" valu
<select id="{{name}}"
class="form-control"
ng-model="selectedOption"
ui-jq="selectpicker"
ui-options='{ iconBase: "famfamfam-flag", tickIcon: "fa fa-check" }'>
<option ng-repeat="o in data" value="{{o.id}}">{{o.label}}</option>
标记使用:
<yes-no-decline-combo selected-option="vm.specialDietId"
ng-required="vm.isFieldRequired('SpecialDiet')" name="SpecialDiet">
</yes-no-decline-combo>
而不是
ng-model="selectedOption"
我之所以需要这种行为,是因为另一个属性指令读取ngModel绑定到的model属性,并执行一些其他功能
谢谢我想你可以尝试用
scope:true
替换scope:{…
来共享外部作用域中的值。今天,这被认为是一个坏习惯,但如果你必须这样做,它应该会起作用。当然,你也必须改变{name}
绑定。使用scope时有什么变化:true?Thanks@Bill您的$scope
不会被隔离:
<select id="SpecialDiet" class="form-control ng-pristine ng-untouched ng-isolate-scope ng-empty ng-invalid ng-invalid-required" ng-model="selectedOption" ui-jq="selectpicker" ui-options="{ iconBase: "famfamfam-flag", tickIcon: "fa fa-check" }" selected-option="vm.specialDietId" ng-required="vm.isFieldRequired('SpecialDiet')" name="SpecialDiet" required="required" tabindex="-98">
<!-- ngRepeat: o in data --><option ng-repeat="o in data" value="" class="ng-binding ng-scope" selected="selected">Not assigned</option><!-- end ngRepeat: o in data --><option ng-repeat="o in data" value="1" class="ng-binding ng-scope">Yes</option><!-- end ngRepeat: o in data --><option ng-repeat="o in data" value="2" class="ng-binding ng-scope">No</option><!-- end ngRepeat: o in data --><option ng-repeat="o in data" value="3" class="ng-binding ng-scope">Decline To Answer</option><!-- end ngRepeat: o in data -->
ng-model="vm.specialDietId"
ng-model="selectedOption"