Javascript 在自定义指令中使用ng Repeat填充select下拉列表
我在自定义指令中用ng Repeat填充选定下拉列表时遇到问题。我发现这个例子与我想要实现的目标非常相似。它似乎有用,但不是我的 目标:获取选择下拉列表以显示测试阵列中的选项数组 普朗克:Javascript 在自定义指令中使用ng Repeat填充select下拉列表,javascript,angularjs,angularjs-directive,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Directive,Angularjs Ng Repeat,我在自定义指令中用ng Repeat填充选定下拉列表时遇到问题。我发现这个例子与我想要实现的目标非常相似。它似乎有用,但不是我的 目标:获取选择下拉列表以显示测试阵列中的选项数组 普朗克: var-app=angular.module('myapp',[]); 应用控制器('mainController',功能($scope){ $scope.testArray=[{'option':'1'},{'option':'2'},{'option':'3'}]; $scope.testModel={
var-app=angular.module('myapp',[]);
应用控制器('mainController',功能($scope){
$scope.testArray=[{'option':'1'},{'option':'2'},{'option':'3'}];
$scope.testModel={};
});
app.directive('testDirective',function(){
返回{
范围:{
dataHeldmodel:“=”,
数据选项:'='
},
模板:“”+
“选择”+
“{option.option}”+
'',
替换:正确
}
});代码>
尝试使用defaultng options
指令解决此问题
工作plnkr与ng重复:
将数据更改为dat:
scope: {
datHeldmodel: '=',
datOptions: '='
}
及
作为属性的“数据”似乎是保留的。您是真的让它工作了还是只是猜测了一下?obj在testArray中没有id属性。对我以前试过,也得到了同样的结果。我确实让它在我的应用程序中发挥了作用。但我没有尝试你的代码。我刚才举了一个例子。@YaroslavS120,您可能在testModel
中有错误。您应该这样设置testModel
<代码>$scope.testModel=$scope.testArray[0]
正在考虑我关于将数据绑定到自定义指令内的select下拉列表的要求吗?$scope.testModel=$scope.testArray[0]代码>此代码段带有ng选项
。您可能会得到ng options
错误,因为您没有正确设置testModel
。这正是我要找的!太棒了,伙计。奇怪的是,cus数据heldmodel运行得很好,但这是ng-options的一个问题。似乎ng模型没有填充,虽然我有。也许我的问题是另一种。我在中继器中有一个自定义指令,一个用于输入,一个用于选择。它们基于某些对象特性显示。如果有“单位”作为对象属性显示输入,如果有“选项”显示选择下拉列表。我的基本ng模型是userData={}<代码>中继器中的Obj:[{'tankVolume':{options:{'option1':'1','option2':'2','option3':'3'}}},'tankRating':{unit:'%'}}]
如何将对象的属性传递到ng模型中,如ng model=“userData.[prop name]”。预期值:userData.tankVolume userData.tankrating如果我理解正确,您希望这样做:或者您可以制作另一个plnkr,以显示您的问题。
<test-directive dat-options="testArray" dat-heldmodel="testModel"></test-directive>