gpt4 book ai didi

angularjs - 使用 ng-change 选择 ng-object

转载 作者:行者123 更新时间:2023-12-03 04:00:41 24 4
gpt4 key购买 nike

给定以下选择元素

<select ng-options="size.code as size.name for size in sizes " 
ng-model="item.size.code"
ng-change="update(MAGIC_THING)">
</select>

有没有办法让 MAGIC_THING 等于当前选择的大小,这样我就可以访问size.namesize.code在我的 Controller 中?

size.code 影响应用程序的许多其他部分(图像 URL 等),但是当 item.size.code 的 ng-model 时已更新,item.size.name面向用户的内容也需要更新。我认为正确的方法是捕获更改事件并在 Controller 内设置值,但我不确定可以将什么传递到更新中以获得正确的值。

如果这是完全错误的方法,我很想知道正确的方法。

最佳答案

与其将 ng-model 设置为 item.size.code,不如将其设置为 size:

<select ng-options="size as size.name for size in sizes" 
ng-model="item" ng-change="update()"></select>

然后在您的 update() 方法中,$scope.item 将设置为当前选定的项目。

无论需要什么代码item.size.code,都可以通过$scope.item.code获取该属性。

Fiddle .

根据评论中的更多信息更新:

为您选择的 ng-model 使用一些其他 $scope 属性,然后:

<select ng-options="size as size.name for size in sizes" 
ng-model="selectedItem" ng-change="update()"></select>

Controller :

$scope.update = function() {
$scope.item.size.code = $scope.selectedItem.code
// use $scope.selectedItem.code and $scope.selectedItem.name here
// for other stuff ...
}

关于angularjs - 使用 ng-change 选择 ng-object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14386570/

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