NG重複不與鍵值對工作時按鍵有特殊字符($)
爲例
<div ng-repeat="(key, value) in values">{{key}}</div>
其中值等於
$scope.values = {
$firstName:"Kusum";
lastName:"Kumari"
}
其打印出lastNAme
但未能爲$firstName
。
NG重複不與鍵值對工作時按鍵有特殊字符($)
爲例
<div ng-repeat="(key, value) in values">{{key}}</div>
其中值等於
$scope.values = {
$firstName:"Kusum";
lastName:"Kumari"
}
其打印出lastNAme
但未能爲$firstName
。
這是可以預料的,因爲stated in the docs
ngRepeat會忽略這些對象鍵開始$,因爲 這是Angular用於公共($)和私人($$)的前綴屬性。
您可以更改控制器中以$
開頭的屬性。
for (var property in $scope.values) {
if ($scope.values.hasOwnProperty(property)) {
if(property[0] === '$'){
$scope.values["_"+property] = $scope.values[property]
}
}
}
而且可以清潔物體之後
$scope.clean = function(){
for (var property in $scope.values) {
if ($scope.values.hasOwnProperty(property)) {
if(property[0] === '_'){
console.log($scope.values)
delete $scope.values[property]
}
}
}
}
它是我知道的,但仍然在尋找一些解決方案,因爲我無法避免它。 –
@KusumKushwaha檢查出來 –
感謝您的解決方案,我發現了一個更多的解決方案,請檢查此plunker http://plnkr.co/edit/ToP7FgXtsTAwIUOt7V6O?p=preview –
您建立在錯誤的方式變量。這是一個工作示例。
angular.module('app', [])
.controller('Controller', function($scope) {
$scope.values = [];
$scope.values[0]= {};
$scope.values[0] = {
$firstName:"Kusum",
lastName:"Kumari"
}
});
<!DOCTYPE html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body ng-app="app">
<div ng-controller="Controller">
<div ng-repeat="(key, value) in values">{{value.$firstName}}-{{value.lastName}}</div>
</div>
</body>
</html>
由於響應是動態的,我不能避免$從關鍵。我需要一個解決方案來儘快解決這個問題。 –
@KusumKushwaha我不是說你應該避免$鑰匙。你只是建立了$ scope.value變量錯誤。檢查你和我的變量之間的區別 –
您可以發佈您例如JavaScript和HTML片段? –
爲什麼你添加'$'給名字變量? 使用相同的邏輯''scope.values = { 姓氏:「Kusum」, 姓氏:「Kumari」 }'注意:使用','分隔元素不''' – AlainIb
我的json在這裏只有格式,所以我需要這樣處理它.http://plnkr.co/edit/ToP7FgXtsTAwIUOt7V6O?p = preview –