Angularjs 从数组引用元素时更改元素的文本
我试图根据从服务器传回的数值来更改页面中的文本元素。我设法存储每个引用以及来自服务器的值,但当尝试访问对象的文本值时,我遇到错误Angularjs 从数组引用元素时更改元素的文本,angularjs,cordova,Angularjs,Cordova,我试图根据从服务器传回的数值来更改页面中的文本元素。我设法存储每个引用以及来自服务器的值,但当尝试访问对象的文本值时,我遇到错误statusText[key]。文本不是函数。从列表中引用时是否可以访问对象属性?Javascript和Angular不是我的强项 代码如下: var log = []; var statusText = []; $http.post("url", {userid: currentUserID}) .then(function(response) { angu
statusText[key]。文本不是函数。从列表中引用时是否可以访问对象属性?Javascript和Angular不是我的强项
代码如下:
var log = [];
var statusText = [];
$http.post("url", {userid: currentUserID})
.then(function(response)
{
angular.forEach(response.data.status, function(value, key){
this.push(value.complete);
}, log);
angular.forEach(document.getElementsByClassName("step-status"), function(value, key)
{
this.push(value)
}, statusText);
angular.forEach(statusText, function(value, key)
{
if (log[key] == 2)
{
statusText[key].text('Completed');
}
else if (log[key] == 1)
{
statusText[key].text('In progress');
}
else
{
statusText[key].text('Not started');
}
});
});
试试这个
var log = [];
var statusText = [];
$http.post("url", {userid: currentUserID})
.then(function(response)
{
angular.forEach(response.data.status, function(value, key){
this.push(value.complete);
}, log);
angular.forEach(document.getElementsByClassName("step-status"), function(value, key)
{
this.push(value)
}, statusText);
angular.forEach(statusText, function(value, key)
{
if (log[key] === 2)
{
statusText[key] = 'Completed';
}
else if (log[key] === 1)
{
statusText[key] = 'In progress';
}
else
{
statusText[key] = 'Not started';
}
});
});
解决方案:更改了显示返回字符串的方法。只需将数组的每个元素设置为我想要的字符串,并使用绑定来显示数据
谢谢大家的帮助。不幸的是,这只是将数组项更改为字符串。您想做什么?无法访问类似函数statusText[key]的数组。text(“”)
。我正在尝试设置存储在该数组中的元素的text属性。是否尝试过statusText[key]。innerHTML='Completed'
?