我是 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/