Thr*_*oze 3 jquery-mobile backbone.js underscore.js
我正在开发一个应用程序,使用主干,下划线和jquerymobile.按照jqmobile的方式,我有一个索引页面,用特殊div
的标签加载每个访问过的页面,用属性标记data-role="page"
.对于每个页面,我都有相应的样式文件(或嵌入在style
html标记中的代码片段).我的问题是我的可设计的东西的名字开始碰撞.另一件事是我不喜欢为每个页面加载不必要的样式文件.有没有办法动态导入当前页面所需的css?
我正在使用RequireJS和RequireCSS插件完成您的要求.
这是我的一个观点的片段:
define([
'jquery',
'underscore',
'backbone',
'views/company/form',
'text!templates/company/company.html',
'css!../../../css/company/company',
], function($, _, Backbone, Form, pageTemplate) {
var Page = Backbone.View.extend({
...
});
return Page;
});
Run Code Online (Sandbox Code Playgroud)
第7行'css!../../../css/company/company'
是css文件成为加载此视图的要求的地方.
一旦company.css
样式表被加载,它在浏览器中,即使其他的"页面"负载,因为没有实际的页面刷新.因此,我有我的主页面视图切换<html>
元素上的类:
// remove any old route-* classes existing on the html element
$('html').removeClassRegEx(/^route-.*/);
// add in the company's top-level class name
$('html').addClass('route-company');
Run Code Online (Sandbox Code Playgroud)
并且我的页面特定于页面的所有样式company
都限定在.route-company
类中.
你可以在这里找到jQuery插件removeClassRegEx.
归档时间: |
|
查看次数: |
4089 次 |
最近记录: |