Sto provando ad usare il nuovo metodo .component() in angular 1.5. Attualmente ho trovato poche informazioni su come usarlo. I dottori angolari non ne parlano nemmeno.
Sto provando a passare l'ambito o un oggetto dall'ambito al .component da utilizzare nella parte modello del componente ma gli unici due parametri che posso passare sono $ elemento e $ attrs. Ho provato a passare l'oggetto attraverso un attributo in html ma tutto ciò che ho ottenuto è stata la stringa del nome dell'oggetto.
ho cercato impostandola essere rappresentato come una variabile in questi modi
my-attr="item.myVal"
my-attr="{item.myVal}"
my-attr="{{item.myVal}}"
ogni volta ancora ottenere la stringa letterale e non il valore della variabile. Come posso impostarlo per essere trattato come una variabile?
Ho provato a catturare i dati tramite i nuovi collegamenti: {} ma il mio modello: {} non ha avuto accesso alle variabili allora.
Qui è la mia componente come è ora:
export var ItemListAction = {
controller: 'PanelCtrl as itemCtrl',
isolate: false,
template: ($element: any, $attrs: any): any=> {
var myVal: any = $attrs.myAttr; // returns "item.myVal"
var listAction: string = compileListAction();
return listAction;
}
};
Qui è la mia componente in HTML
<panel-item-list-action my-attr="item.myVal"></panel-item-list-action>
Questa è la dichiarazione del modulo angolare per la componente: angular.module('Panel', []).component('panelItemListAction', ItemListAction)
Grazie per la risposta, c'è qualche modo per accedere alla portata, oggetto o variabile i nside the template: {} proprietà? Il blog non menziona che i modelli – appthat
non hanno bisogno di $ scope. Le funzioni del modello restituiscono HTML. È possibile iniettare $ scope nel controller come sempre. – georgeawg
quindi, al di fuori dell'isolamento dell'ambito, .component() è simile a ng-include? – appthat