2016-05-04 23 views
0

Ich möchte ein MD-Menü auf einer md-2-line list-item Direktive haben. Hinweis: NICHT auf der sekundären Aktion, sondern hauptsächlich auf dem Listenelement selbst. Die Dokumentation besagt, dass das erste Element als Trigger verwendet wird und im DOM verbleibt, während das zweite Element den Menüinhalt darstellt. So war ich überrascht, dass die folgende Struktur nicht funktioniert.md-menu md-list-item Eckiges Material

<md-list> 

    <md-menu> 

     <md-list-item class="md-2-line" ng-click="openMenu($mdOpenMenu, $event)" ng-repeat="prop in properties"> 
      <div class="md-list-item-text"> 
       <h3>{{ prop['display_name'] }}</h3> 
       <p>{{ object[prop.key] }}</p> 
      </div> 
     </md-list-item> 

     <md-menu-content width="6"> 
      <md-menu-item ng-repeat="val in prop['values']"> 
       <md-button ng-click="updateAttribute(prop.key, val)"> 
        {{val}} 
       </md-button> 
      </md-menu-item> 
     </md-menu-content> 

    </md-menu> 

</md-list> 

Allerdings sehe ich nicht wirklich, was ich falsch mache. Ich halte auch die folgenden Fehler bekommen, von denen ich weiß nicht, die Bedeutung:

Angularjs: 13550 Typeerror: kann Eigenschaft ‚hasAttribute‘ undefinierter bei r lesen (http://localhost/flatt.io/app/node_modules/angular-material/angular-material.min.js:13:26527)

und

Angularjs: 13550 Typeerror: kann Eigenschaft '0' undefinierter bei enableHoverListener lesen (Winkel material.min.js: 13)

Grüße

+0

Können Sie dies in einem Code-Stift mit gespotteten Daten posten? –

Antwort

1

Dein ng-repeat, wo prop definiert ist, befindet sich auf dem md-list-item-Tag. prop fällt nicht in den Geltungsbereich, wenn dieses Tag geschlossen ist. Es ist also nicht verfügbar, wenn du deinen md-menu-content definierst.

+1

Das Verschieben des ng-repeats in das md-Menü hat es behoben, ich kann nicht glauben, dass ich das verpasst habe. Schöner Fund! –

Verwandte Themen