簡體   English   中英

從控制器角度傳遞數組

[英]passing an array from controller angular

我是Angular的新手。 我這里有一個函數,我想從數組內部選擇一個隨機名稱來顯示。

在控制器中,我建立了一個名為names的數組。 然后,我想將其傳遞到$scope.message函數中,並從我的html中調用它。

我不斷收到錯誤消息:

"Error: [$interpolate:interr] Can't interpolate: 
        {{message(names)}}
        {{}}

我的控制器:

eventsApp.controller("EventController", function EventController($scope)
{

    var names = ["David", "Tony", "Tim", "David", "Daniel", "Tom"];

    var randomChoose = function(array){
        return Math.floor(Math.random() * array.length-1);

    };
    $scope.message = function(array){
        var name = array.indexOf(randomChoose(array));
        return "Hello"+name;
    };
});

我的html:

<div class="container">
    <div ng-controller="EventController">
        {{message(names)}}
        {{}}
    </div>

</div>

謝謝。 我試圖將names更改為$scope.names但這似乎沒有用。

您的隨機性邏輯似乎是錯誤的,一個有效的示例

function EventController($scope) {
    $scope.names = ["David", "Tony", "Tim", "David", "Daniel", "Tom"];

    var randomChoose = function(array){
        return array[Math.floor(Math.random() * array.length)];
    };

    $scope.message = function(array){
        var name = randomChoose(array);
        return "Hello " + name;
    };

}

暫無
暫無

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

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