javascript - 从 Controller Angular 传递数组

标签 javascript arrays angularjs

我是 Angular 新手。我这里有一个函数,我想从数组中选择一个随机名称来显示。

在我的 Controller 中,我设置了一个名为 names 的数组。然后我想将它传递到我的 $scope.message 函数中并从我的 html 中调用它。

我不断收到错误:

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

我的 Controller :

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 但这似乎不起作用。

最佳答案

你的随机性逻辑似乎是错误的,一个有效的 example :

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;
    };

}

关于javascript - 从 Controller Angular 传递数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31643145/

相关文章:

java - 从数组 vector 中创建一个元素总和等于数字 k 的数组

javascript - 单击按钮后刷新并重定向页面

javascript - 使用从内容加载的 SVG 样式表

ruby - 为什么 hex -> base64 与 base64 -> hex 使用 pack 和 unpack 如此不同?

javascript - 位置 :fixed not working on mobile, 适用于桌面

c - 如何使用带有解引用和加法的指针算术?

jquery - 无法POST到Django Tastypie跨域XHR

javascript - 将文本转换为 html javascript

javascript - 如何通过 Backbone View 渲染保留状态消息/图标/通知?

javascript - 使用 Javascript 更改单元格的显示样式