Angularjs 角度并选择-设置默认值
我正在努力从控制器中的值设置选择框的默认值 我的控制器Angularjs 角度并选择-设置默认值,angularjs,Angularjs,我正在努力从控制器中的值设置选择框的默认值 我的控制器 controller.item = {name: "bar1", value:1} controller.items = [{name: "bar0", value:0},{name: "bar1", value:1}] 我的html是 <p>{{controller.item}}</p> <select ng-model="controller.item" ng-options="item.name for
controller.item = {name: "bar1", value:1}
controller.items = [{name: "bar0", value:0},{name: "bar1", value:1}]
我的html是
<p>{{controller.item}}</p>
<select ng-model="controller.item" ng-options="item.name for item in controller.items" >
</select>
但是,对于已经设置了值的场景,这是不正确的
谢谢您需要将
选择的属性添加到选择的中相应的选项
元素您需要将选择的属性添加到选择的选项中相应的元素选择中相应的选项
元素您需要将选择的
属性添加到选择中相应的选项
元素您的选项
有点不对劲,语法为值作为数组中项的文本
——因此将值设置为项
<select ng-model="controller.item" ng-options="item as item.name for item in controller.items" >
</select>
您的ngOptions
有点不正确,语法是数组中项的文本值
-因此将值设置为项
<select ng-model="controller.item" ng-options="item as item.name for item in controller.items" >
</select>
您的ngOptions
有点不正确,语法是数组中项的文本值
-因此将值设置为项
<select ng-model="controller.item" ng-options="item as item.name for item in controller.items" >
</select>
您的ngOptions
有点不正确,语法是数组中项的文本值
-因此将值设置为项
<select ng-model="controller.item" ng-options="item as item.name for item in controller.items" >
</select>
HTML:
在ng options
指令中设置默认选项时,必须通过引用。无法创建新对象。报告说:
默认情况下,ngModel通过引用而不是值监视模型
HTML:
在ng options
指令中设置默认选项时,必须通过引用。无法创建新对象。报告说:
默认情况下,ngModel通过引用而不是值监视模型
HTML:
在ng options
指令中设置默认选项时,必须通过引用。无法创建新对象。报告说:
默认情况下,ngModel通过引用而不是值监视模型
HTML:
在ng options
指令中设置默认选项时,必须通过引用。无法创建新对象。报告说:
默认情况下,ngModel通过引用而不是值监视模型
使用您的符号Angular正在尝试将item.name
与整个item
对象匹配
item to match: {name: "bar1", value:1}
value to match againist: 'bar1'
'bar1' != {name: "bar1", value:1} // Nothing selected by default since no matching ocurrs
为了正确匹配,您应该尝试使用:
在这里,您将控制器.item
定义为您的模型,它将与ng选项中的整个item对象进行检查,但标记为item.name
(因为您在ng选项声明中定义了它),因此您的选择将把objects name属性呈现为选项,而不是整个对象,但它将使用符号重新匹配整个对象Angular正在尝试将项.name
与整个项
对象匹配
item to match: {name: "bar1", value:1}
value to match againist: 'bar1'
'bar1' != {name: "bar1", value:1} // Nothing selected by default since no matching ocurrs
为了正确匹配,您应该尝试使用:
在这里,您将控制器.item
定义为您的模型,它将与ng选项中的整个item对象进行检查,但标记为item.name
(因为您在ng选项声明中定义了它),因此您的选择将把objects name属性呈现为选项,而不是整个对象,但它将使用符号重新匹配整个对象Angular正在尝试将项.name
与整个项
对象匹配
item to match: {name: "bar1", value:1}
value to match againist: 'bar1'
'bar1' != {name: "bar1", value:1} // Nothing selected by default since no matching ocurrs
为了正确匹配,您应该尝试使用:
在这里,您将控制器.item
定义为您的模型,它将与ng选项中的整个item对象进行检查,但标记为item.name
(因为您在ng选项声明中定义了它),因此您的选择将把objects name属性呈现为选项,而不是整个对象,但它将使用符号重新匹配整个对象Angular正在尝试将项.name
与整个项
对象匹配
item to match: {name: "bar1", value:1}
value to match againist: 'bar1'
'bar1' != {name: "bar1", value:1} // Nothing selected by default since no matching ocurrs
为了正确匹配,您应该尝试使用:
在这里,您将控制器.item
定义为您的模型,它将与ng选项中的整个item对象进行检查,但标记为item.name
(因为您在ng选项声明中定义了它),因此您的选择将把objects name属性呈现为选项,而不是整个对象,但它将对整个对象进行匹配这里的问题是控制器。项与控制器不同。项[1]
我相信有人会进一步解释为什么这比我做得更好,但这与比较JavaScript中的对象有关
是另一篇文章的链接
您要做的是在数组中找到所需的对象,并将其设置为controller.item
app.controller('MainCtrl', function($scope) {
var controller = this;
var tempItem = {name: "bar1", value:1};
controller.items = [{name: "bar0", value:0},{name: "bar1", value:1}]
for(var i = 0; i < controller.items.length; i++){
if(controller.items[i].name == tempItem.name) {
controller.item = controller.items[i];
}
}
});
您这里的问题是控制器。项与控制器不同。项[1]
我相信有人会进一步解释为什么这比我做得更好,但这与比较JavaScript中的对象有关
是另一篇文章的链接
您要做的是在数组中找到所需的对象,并将其设置为controller.item
app.controller('MainCtrl', function($scope) {
var controller = this;
var tempItem = {name: "bar1", value:1};
controller.items = [{name: "bar0", value:0},{name: "bar1", value:1}]
for(var i = 0; i < controller.items.length; i++){
if(controller.items[i].name == tempItem.name) {
controller.item = controller.items[i];
}
}
});
您这里的问题是控制器。项与控制器不同。项[1]
我相信有人会进一步解释为什么这比我做得更好,但这与比较JavaScript中的对象有关
是另一篇文章的链接
什么