Время от времени вам просто нужно хорошее напоминание, что Titanium SDK, и особенно фреймворк Alloy, имеет некоторые хорошие функции качества жизни.

На этот раз я хочу обратить внимание на совсем недавнее дополнение к Alloy, аргументы, которые вы можете использовать в файлах просмотра.

И, честно говоря, для меня это абсолютно большое улучшение качества жизни. Только представьте, что у вас есть этот код:

Alloy.createController("subWindow")

Вы, наверное, уже знаете, что можете передавать данные этому контроллеру, используя второй параметр:

Alloy.createController("subWindow", {title: "Hello!"})

Но то, что вы, вероятно, сделали с переданными данными в контроллере subWindow, вероятно, использовало контроллер для установки данных в нужное свойство, например:

$.win.title = $.args.title

Но ... знаете ли вы, что это можно сделать прямо в xml?

<Window title="$.args.title">

Таким образом, вам не потребуется ничего в вашем файле контроллера для определения подобных свойств.

И он работает не только с простыми свойствами, он также работает с такими вещами, как обратные вызовы

Alloy.createController("subWindow", {clicker: (e) => {})

А затем в вашем subWindow View:

<View onClick="$.args.clicker" />

Или вы даже можете настроить представления

Alloy.createController("subWindow", {hideLabel: true})

А затем в представлении:

<Label if="!$.args.hideLabel" />

Очень полезно, правда? Надеюсь, это поможет вам быстрее настраивать и разрабатывать приложения!