加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 使用ng-change选择ng对象

发布时间:2020-12-17 09:32:32 所属栏目:安全 来源:网络整理
导读:给定以下select元素 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.name和size.code在我的控制器? s
给定以下select元素
<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.name和size.code在我的控制器?

size.code会影响应用程序的其他部分(图像urls等),但是当item.size.code的ng-model更新时,item.size.name需要更新为面向用户的东东。我假设正确的方法是捕获更改事件并设置我的控制器内的值,但我不知道我可以传递到更新以获得正确的值。

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

不是将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。

基于评论中的更多信息更新:

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

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

控制器:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读