仅显示一个属性对象-许多属性objec中的对象被包装在数组中

时间:2018-10-02 15:57:40

标签: javascript html arrays angularjs angularjs-ng-repeat

请帮助,我刚刚开始阅读angularJS

我有一个钥匙类似

的对象
scope.eventList=[];
for(){
             var event = {
                         id          : hash,
                         title       : title,
                         url         : 'http://www.xxxxx.com/',
                         start       : start,
                         end         : end,
                         allDay      : false,
                         location    : '',
                         description : '',
                         editable    : true
                        };

                 $scope.eventList.push(event); 

}

给出一个eventList(对象数组):

[
 {
                         id          : hash,
                         title       : "TITLE1" ,
                         url         : 'https://www.xxxxx.com/',
                         start       : start,
                         end         : end,
                         allDay      : false,
                         location    : '',
                         description : '',
                         editable    : true
 },
{
                         id          : hash,
                         title       : "TITLE2" ,
                         url         : 'https://www.xxxxx.com/',
                         start       : start,
                         end         : end,
                         allDay      : false,
                         location    : '',
                         description : '',
                         editable    : true
}
]

我需要将其放入ng-repeat中,但只显示项目的标题

like : Title1
       Title2
       Title3
       ......
       TitleN

尝试了以下操作,但不起作用。

 <div customEventName="{{item.title}}" 
     ng-model="item" ng-repeat="item.title in eventList track by $index">
     {{item.title}}
    </div>

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您无需>>> timeit.timeit('n/2', 'n=123456.789') 0.04134701284306175 >>> timeit.timeit('n/2.0', 'n=123456.789') 0.03455621766488548 >>> timeit.timeit('[n/2 for n in r]', 'r = [n*5/1.1 for n in range(1, 10001)]', number=10000) 5.177127423787169 >>> timeit.timeit('[n/2.0 for n in r]', 'r = [n*5/1.1 for n in range(1, 10001)]', number=10000) 4.067747102254316 也不需要ng-model

您的问题是track by $indexY的{​​{1}}是“目标”变量,它将包含数组Y in X中包含的当前项目。

然后正确的代码是:

ng-repeat

答案 1 :(得分:0)

data = [
 {
   id : 'hash',
   title : "TITLE1" ,
   url : 'https://www.xxxxx.com/',
   start: 'start',
   end : 'end',
                  
 },
  {
   id : 'hash',
   title : "TITLE2" ,
   url : 'https://www.xxxxx.com/',
   start: 'start',
   end : 'end',
                  
 }, {
   id : 'hash',
   title : "TITLE3" ,
   url : 'https://www.xxxxx.com/',
   start: 'start',
   end : 'end',
                  
 },

]

var titles = data.map(({title})=> title)
console.log(titles)