N-click 改变键值对
Ng-click changing key,value pair
我有一个像这样的 ng-repeat:
<div ng-app="myApp" ng-controller="Ctrl">
{{ctrlTest}}<hr/>
<div ng-repeat="elements in filter">
<div>
<li ng-repeat="(key,value) in filter.producers" ng-show="value">
{{key}}<a ng-click="filter.producers.key=false"> X</a>
</li>
</div>
{{filter.producers}}
</div>
angular.module('myApp', [])
.controller('Ctrl', function($scope) {
$scope.ctrlTest = "Filters";
$scope.filter = {"producers": {"Ford":true,"Honda":true,"Ferrari":true}}
});
我正在尝试进行 ng-click,当单击 link 时会将每个标签设置为 false,但由于键值不固定(它们应该被视为变量)。
到目前为止,我已经按照他的方式进行了尝试。
http://jsfiddle.net/Joe82/wjz8270z/5/
提前致谢!
Ps: 我无法更改 json 结构。
您只需要通过其键访问对象的元素,以确保引用不会丢失并且绑定有效
<li ng-repeat="(key,value) in filter.producers" ng-show="value">
{{key}}<a ng-click="filter.producers[key]=false"> X</a>
</li>
您还调用了一个函数并设置了值false
HTML
<li ng-repeat="(key,value) in filter.producers" ng-show="value">{{key}} {{value}}<a ng-click="setValue(key)"> X</a>
JS
$scope.setValue = function(key){
$scope.filter.producers[key.toString()] = false;
}
看到这个linkhttp://jsfiddle.net/wjz8270z/8/
我有一个像这样的 ng-repeat:
<div ng-app="myApp" ng-controller="Ctrl">
{{ctrlTest}}<hr/>
<div ng-repeat="elements in filter">
<div>
<li ng-repeat="(key,value) in filter.producers" ng-show="value">
{{key}}<a ng-click="filter.producers.key=false"> X</a>
</li>
</div>
{{filter.producers}}
</div>
angular.module('myApp', [])
.controller('Ctrl', function($scope) {
$scope.ctrlTest = "Filters";
$scope.filter = {"producers": {"Ford":true,"Honda":true,"Ferrari":true}}
});
我正在尝试进行 ng-click,当单击 link 时会将每个标签设置为 false,但由于键值不固定(它们应该被视为变量)。
到目前为止,我已经按照他的方式进行了尝试。
http://jsfiddle.net/Joe82/wjz8270z/5/
提前致谢!
Ps: 我无法更改 json 结构。
您只需要通过其键访问对象的元素,以确保引用不会丢失并且绑定有效
<li ng-repeat="(key,value) in filter.producers" ng-show="value">
{{key}}<a ng-click="filter.producers[key]=false"> X</a>
</li>
您还调用了一个函数并设置了值false
HTML
<li ng-repeat="(key,value) in filter.producers" ng-show="value">{{key}} {{value}}<a ng-click="setValue(key)"> X</a>
JS
$scope.setValue = function(key){
$scope.filter.producers[key.toString()] = false;
}
看到这个linkhttp://jsfiddle.net/wjz8270z/8/