Ich habe einen Aktivitätsindikator, den ich in seiner eigenen Ansicht gemacht habe, damit ich es dann in jede meiner Ansichten 'begleitenden Tabellen einfügen konnte, die ein Teil der Suchfunktionalität für Eigenschaften sind meine App.Schwierigkeit, Controller-lose Ansicht zu einer anderen Ansicht hinzuzufügen
activIndic.xml
<Alloy>
<ActivityIndicator id="activityIndicator" message="Loading..." indicatorColor="Alloy.CFG.design.colors.hudBlue"
style="Titanium.UI.ActivityIndicatorStyle.BIG_DARK"
>
</ActivityIndicator>
states.xml
<Alloy>
<Window id="winState" class="container vgroup" title="Search | States" >
<Label text="Click a state to continue." class="searchWinHint" id="hint"></Label>
<Require id="activityIndicator" src="activIndic" type="" ></Require>
<TableView id="stateList" class="tableView-search">
</TableView>
</Window>
states.js - searchState()
function searchState(){
$.activityIndicator.show();
pullStates();
$.stateList.addEventListener("click", function(e){
//Create global state abbreviation name
args.stateAbbr = e.row.children[1].text;
Alloy.createController("search_tab/counties", args).getView().open();
});
$.winState.add($.stateList);}
searchState ist eine Funktion, die von einem "offenen" Ereignis-Listener aufgerufen wird, der an das Statusfenster gebunden ist. pullStates() verwendet einen HTTP-Client, um die Tabelle mit einer Liste von Zuständen zu füllen, aus denen ausgewählt werden kann. Der wichtige Teil dieser Funktion ist, dass am Ende der Onload-Funktion $.activityIndicator.hide()
aufgerufen wird, so dass im Wesentlichen sobald die Daten geladen sind der Indikator verschwindet.
Aber ich bin immer einen Fehler
[ERROR] : TiExceptionHandler: (main) [951,2005] ----- Titanium Javascript Runtime Error -----[ERROR] : TiExceptionHandler: (main) [1,2006] -In /alloy/controllers/search_tab/states.js:1,336[ERROR] : TiExceptionHandler: (main) [0,2006] - Message: Uncaught TypeError: i.activityIndicator.show is not a function
Ich verstehe nicht, warum der Fehler auftritt. Ich habe den Eindruck, dass, wenn eine Ansicht über den Tag <Require>
dem XML hinzugefügt wird, der states.js-Controller in der Lage sein sollte, diese Ansicht zu handhaben, indem er auf seine ID verweist. Gibt es noch etwas, das ich vermisse oder etwas falsch eingerichtet habe?
Oh Mann, natürlich ist es so einfach. Vielen Dank, ich werde es ändern, wenn ich wieder im Büro bin. – Rampancy