ng-init json объект

Я использую angularjs (ng-init) и хочу присвоить значение переменной как jsonObj.

Я пробую это, но это не работает.

ng-init = "процент Obj = [{ " значение ":40," цвет ":"#F5A623" },{ " значение ":60," цвет ":"#F5A623" }];

и еще один вопрос, который я хочу присвоить значение, как

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

Как решить эту проблему??

Спасибо

5 ответов

Вы можете использовать объект окна для установки вашего 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
   };
}

Побег ваши цитаты...

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

Попробуй это...

    <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"                }]
    }

Просто добавьте 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') часть изменений.

Для второго, пожалуйста, проверьте код ниже

var obj = {};
$scope.percentObj = [];
obj.value = parseInt($scope.projectData[0].value);
obj.color = "#F5A623";
$scope.percentObj.push(obj);
Другие вопросы по тегам