2014-09-03 70 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 
    }; 
}