ng-init json对象

时间:2014-09-03 12:56:01

标签: json angularjs angularjs-ng-init

我使用angularjs(ng-init),我想将变量赋值为jsonObj。

我试试这个,但它不起作用。

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

5 个答案:

答案 0 :(得分:2)

您可以使用window对象设置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
   };
}

答案 1 :(得分:1)

逃避你的报价......

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

答案 2 :(得分: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"                }]
    }

答案 3 :(得分:0)

在某些元素的属性中仅包含一个JSON编码的字符串,然后使用Angular进行捕获即可。

HTML

<div data-config="{title:'this is my title'}" my-directive></div>

AngularJS:

app.directive('myDirective', function () {
    return {
        restrict: 'A',
        link: function (scope, element) {

            // apply config from element's data-config attribute
            scope.config = element.data('config');

            // print out the data in console
            console.log(scope.config);

        }
    };
});

即使没有jQuery也可以完成,然后.data('config')部分就会更改。

答案 4 :(得分:-1)

第二个,请检查以下代码

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