angularjs – 错误:[ngModel:nonassign]表达式是不可分配的
发布时间:2020-12-17 07:42:13 所属栏目:安全 来源:网络整理
导读:尝试根据同一行中的另一个值从gridcollection显示列值. 用户可以选择/更改包含具有值的网格的模态中的值.当模态关闭时,值将被传回.在那一刻,我想为“也被称为”设定一个值: HTML: Also known as: input type="text" `ng-model="displayValue(displayNameDa
尝试根据同一行中的另一个值从gridcollection显示列值.
用户可以选择/更改包含具有值的网格的模态中的值.当模态关闭时,值将被传回.在那一刻,我想为“也被称为”设定一个值: HTML: Also known as: <input type="text" `ng-model="displayValue(displayNameData[0].show,displayNameData[0].value)">` 我在范围上创建了一个函数,只有当’show’值为true时才选择该值: $scope.displayValue = function (show,val) { if (show) { return val; } else { return ''; } } 但是当我关闭模式时,我会收到一个错误: Error: [ngModel:nonassign] Expression 'displayValue(displayNameData[0].show,displayNameData[0].value)' is non-assignable. 参考文献:http://plnkr.co/edit/UoQHYwAxwdvX0qx7JFVW?p=preview
正如HackedByChinese所提到的,你不能将ng-model绑定到一个函数,所以试试这样:
<input type="text" ng-if="displayNameData[0].show" ng-model="displayNameData[0].value"> 或者如果您希望此控件可见,您可以创建指令,添加功能到$解析器,将根据显示设置空值: angular.module('yourModule').directive('bindIf',function() { return { restrict: 'A',require: 'ngModel',link: function(scope,element,attrs,ngModel) { function parser(value) { var show = scope.$eval(attrs.bindIf); return show ? value: ''; } ngModel.$parsers.push(parser); } }; }); HTML: <input type="text" bind-if="displayNameData[0].show" ng-model="displayNameData[0].value"> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |