gpt4 book ai didi

javascript - 嵌套指令中的动态模型绑定(bind)适用于输入值,但不适用于选择

转载 作者:行者123 更新时间:2023-12-03 07:56:21 25 4
gpt4 key购买 nike

我有一个自定义指令,如下所示:

  <drop-down-filter-field
model="my_model.property"
options="{ list: property_options, field: 'code' }"
></drop-down-filter-field>

使用指令代码(字段是另一个指令,它将一些常见的错误和布局等标记组合在一起):

   <field label="label" field="field" model="model" display="display" annotation="annotation">
<select
ng-model="$parent.model"
ng-change="setValue(item.value, item[options.field])"
>
<option ng-repeat="item in options.list" value="{{item.value}}">{{item[options.field]}}</option>
</select>
</field>

我尝试添加 ng-change 来手动设置我的模型值,因为下拉菜单不起作用。但是,ng-chang 中的函数也没有触发。

和指令

angular.module('my-app')

.directive('dropDownFilterField', function($compile) {
return {
restrict: 'E',
templateUrl: 'views/directives/form-elements/drop-down-filter-field.html',
controller: 'dropDownFilterField',
scope: {
model: '=',
label: '=',
field: '=',
options: '=',
annotation: '=',
}
};
})
.controller('dropDownFilterField', function($scope, $element, $parse) {

$scope.setValue = function(value) {
self.$scope.model = value;
};

})
;

我已经有了这个带有“$parent.model”嵌套指令的模式,可以在其他几个模板/指令中运行,例如输入标签:

<field label="label" field="field" model="model" annotation="annotation" validate="validate">
<input type="text" name="{{formname}}" ng-model="$parent.model" ng-required="{{required}}" placeholder="{{field.default}}"
uib-typeahead="{{'typeAheadItem' + (options.field ? '.' + options.field : '')}} as {{'typeAheadItem' + (options.field ? '.' + options.field : '')}} for typeAheadItem in options.list | filter:$viewValue | limitTo:{{options.limit || 8}}"
ui-validate="'validateFunction($value)'"/>
</field>

我所有其他包含输入和文本区域的自定义指令都在工作,但我无法让它为选择工作。有人知道为什么会这样吗?

最佳答案

您尝试过使用ng-options吗?

<select         
ng-model="$parent.model"
ng-options="item.value as item[options.field] for item in options.list"
>
</select>

应该不需要使用ng-change来更新ng-model值,ng-model的双向绑定(bind)> 应该自行更新。

关于javascript - 嵌套指令中的动态模型绑定(bind)适用于输入值,但不适用于选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34780763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com