0

我是一名使用 Titanium Mobile 框架学习移动开发的人。

我面临一个与应用 javascript 样式表相关的问题。当我将我的 jss 文件命名为与要应用该样式的 js 文件相同时,它工作正常。但是,如果我将其命名为其他名称,则它不起作用。谁能告诉我一个解决方案。以下是我的代码示例。

// app.js
var win = Titanium.UI.createWindow({ backgroundColor : '#fff' });

win.add( Ti.UI.createButton({ title : 'Button A' }) );

win.open();

// app.jss, works fine
button { backgroundImage: 'grdadient_img.png'; }

// button_style.jss, don't work
button { backgroundImage: 'grdadient_img.png'; }
4

2 回答 2

6

我从来没有使用多个 JSS 文件取得过很大的成功。如果您关注 Nandu 的链接,您会发现它并没有很好地记录在案,可能会在某个时候从 Titanium 中删除。我预计钛合金也会杀死 JSS。

如果您还不想使用 JSS(或 Alloy),有一种巧妙的方法可以使用 commonJS 模块和可选的 underscore.js 来集中您的样式,例如

主题.js

var theme = {
    tableLabel : {
        color : '#3285C7',
        backgroundColor : 'transparent',
        inactiveColor : '#AAAAAA'
    }
}
module.exports = theme;

使用

    var theme = require('ui/common/Theme');
...
    var myLabel = Ti.UI.createLabel(_.extend({}, theme.tableLabel, {
        top : 5,
        height : Ti.UI.SIZE,
        width : Ti.UI.FILL,
        text : "Hello world",
    }));

我使用_extend从主题中获取设置并添加实例特定设置,如大小、位置等。不要忘记调用 `_.extend() 中的第一个空对象文字

http://underscorejs.org/#extend

于 2012-12-07T12:23:58.287 回答
1

Ammar,请参考以下链接。希望对你有帮助

、如何正确使用jss

2. .jss 功能如何在 Titanium 移动 SDK 中真正发挥作用

于 2012-12-03T11:55:13.997 回答