2014-09-03 20 views
3

我使用angularjs(ng-init),我想爲變量賦值爲jsonObj。ng-init json對象

我嘗試這一個,但它不起作用。

ng-init="percentObj = [{ "value":40,"color":"#F5A623" },{ "value":60,"color":"#F5A623" }];

而另一個問題 我要指派像

percentObj = [{ "value": parseInt($scope.projectData[0].value),"color":"#F5A623" },{ "value": parseInt($scope.projectData[0].value),"color":"#F5A623" }]

如何解決這個問題?值

THX

回答

1

讓您遠離報價...

ng-init="percentObj = [{ \"value\":40,\"color\":\"#F5A623\" },{ \"value\":60,\"color\":\"#F5A623\" }];" 
+0

我可以用varialble \ – user3900567 2014-09-03 13:41:18

+0

我會在視圖中建議不要初始化代碼替換40。從我的角度來看,必須在控制器內部,如果需要訪問其他對象的變量,則更多。視圖必須儘可能簡單。 – Kaken 2014-09-03 14:02:36

0

嘗試......

<body ng-controller="TestController"> 
     <div ng-init="Init()"> 
     {{percentObj || json }} 
     </div> 
    </body> 

    $scope.Init = function() 
    { 
     $scope.percentObj = [{ "value":40,"color":"#F5A623" },{ "value":60,"color":"#F5A623"    }] 
    } 
-1

爲第二個,請檢查下面的代碼

var obj = {}; 
$scope.percentObj = []; 
obj.value = parseInt($scope.projectData[0].value); 
obj.color = "#F5A623"; 
$scope.percentObj.push(obj); 
2

你可以使用窗口對象設置喲烏爾JSON:

<script type="text/javascript"> 
    window.data= {awesome:1}; 
</script> 

觀點:

<div ng-controller="myCntrl" ng-init="init('data')"> 

控制器:

function myCntrl($scope) { 
    $scope.init = function (settings) { 
     settings = window[settings]; 
     console.log(settings.awesome); //1 
    }; 
}