簡體   English   中英

如何初始化位於 AngularJS 中另一個數組元素內的數組元素?

[英]How do I initialize an array element which is inside another array element in AngularJS?

$scope.pictures=[
    {
        name:"/images/profile2.jpg",
        caption:"Food and Hunger",
        votes:0,
        User:"xyz@gmail.com",
        comments:[],
        theme:$scope.theme
    },
    {
        name:"/images/profile3.jpg",
        caption:"The wedding day",
        votes:0,
        User:"yamini@gmail.com",
        comments:[],
        theme:$scope.theme
    },
    {
        name:"/images/profile4.jpg",
        caption:"Mother's Care",
        votes:0,
        User:"fakeid@yahoo.com",
        comments:[],
        theme:$scope.theme
}];

“評論:[]”數組不起作用。 當我嘗試 .push() 函數時,它不起作用。 但是,當我在其他元素(如標題、用戶等)上嘗試 push() 時,它就可以工作了。

$scope.addcomment=function (index) {
    var com=$window.prompt('Please enter your comment');
    $scope.pictures[index].comments.push(com);
}

誰能幫我解決這個錯誤?

我已經嘗試過你在問題中提到的,它工作正常。 看看你是否也這樣做過。

演示

html:

<div data-ng-app="myApp" data-ng-controller="myCtrl">
    <div data-ng-repeat="pic in pictures">
        {{pic.comments | json }} <button ng-click="addcomment($index)">add comment</button>
    </div>
</div>

js代碼:

(function() {
    var app = angular.module('myApp',[]);
    app.controller("myCtrl", function($scope,$window) {
        $scope.pictures=[
        {
            name:"/images/profile2.jpg",
            caption:"Food and Hunger",
            votes:0,
            User:"xyz@gmail.com",
            comments:[],
            theme:$scope.theme
        },
        {
            name:"/images/profile3.jpg",
            caption:"The wedding day",
            votes:0,
            User:"yamini@gmail.com",
            comments:[],
            theme:$scope.theme
        },
        {
            name:"/images/profile4.jpg",
            caption:"Mother's Care",
            votes:0,
            User:"fakeid@yahoo.com",
            comments:[],
            theme:$scope.theme
        }];
        $scope.addcomment=function (index) {
            var com=$window.prompt('Please enter your comment');
            $scope.pictures[index].comments.push(com);
        }
    });
})(); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM