我使用angularjs(1.6)。我在ng-repeat方面遇到了一些麻烦。我在我的constructor
对象数组中(有问题,标题......)。根据今天的日期,我使用变量从数组中获取对象。这个对象我想用ng-repeat显示,但我想我一定犯了错误。没有任何事情发生。
以下是构造函数中对象的示例:
this.questions = [
{
date: '20/3',
question: `How odl are you ?`,
answer: { r1: '12', r2: '28', r3: '32' },
},
{
date: '21/3',
question: `What's your name? ?`,
answer: { r1: 'Math', r2: 'Eric', r3: 'Ben' },
},....
]
使用我想根据日期显示的值返回对象的变量:
var dateObj = new Date();
var month = dateObj.getUTCMonth() + 1;
var day = dateObj.getUTCDate();
const today = day + "/" + month;
this.newDates = this.questions.find(q => q.date === today)
我想显示newDates
对象包含的内容。
这是html:
<h1 ng-repeat="newDate in ::$ctrl.newDates">{{ ::newDate.question }}</h1>
我一定犯了一个愚蠢的错误,或者我无法显示动态创建的对象的数据......如果你能帮助我,我找不到解决方案。
答案 0 :(得分:1)
您需要使用Array.filter()
返回一个数组,其中Array.find()
对象
this.newDates = this.questions.filter(q => q.date === today)
注意:如果您希望单个对象保留现有代码而不使用ngRepeat
直接使用
<h1>{{ ::$ctrl.newDates.question }}</h1>
答案 1 :(得分:1)