gpt4 book ai didi

javascript - AngularJS ng-show 与 map 一起使用时不会触发

转载 作者:行者123 更新时间:2023-12-03 09:19:34 24 4
gpt4 key购买 nike

尝试使用键/值映射来确定是否应显示 Angular 控制元素:

http://jsfiddle.net/9fR23/181/

但我收到一个异常:

angular.js:6173 TypeError: fnPtr is not a function
at Object.elementFns [as get] (angular.js:6802)
at Object.$get.Scope.$digest (angular.js:8563)
at Object.$get.Scope.$apply (angular.js:8771)
at angular.js:986
at Object.invoke (angular.js:2873)

这样使用作用域不违法吗?如何使用键/值映射来确定是否应显示元素?该 map 将在运行时更新,因此为了确保此更新反射(reflect)在 UI 上,我需要包含 apply() 方法?

fiddle 代码:

<div ng-app="myapp" ng-controller="FirstCtrl">
<table class="table table-striped">
<tr ng-repeat="person in people">
<td ng-show="errorMap('1')">{{ person.first + ' ' + person.last }}</td>
</tr>
</table>
</div>

var myapp = angular.module('myapp', []);
myapp.controller('FirstCtrl', function ($scope) {
var errorMap = new Object()

errorMap['1'] = 'true'
errorMap['2'] = 'false';
$scope.errorMap = errorMap

$scope.people = [
{ id: 1, first: 'John', last: 'Rambo' },
{ id: 2, first: 'Rocky', last: 'Balboa' },
{ id: 3, first: 'John', last: 'Kimble' },
{ id: 4, first: 'Ben', last: 'Richards' }
];
});

最佳答案

errorMap('1') 不是一个函数,它是一个对象。所以你可以这样做:

ng-show="errorMap['1']"

关于javascript - AngularJS ng-show 与 map 一起使用时不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31877006/

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