所以我认为这个标题足以解释:我想动态地设计我的整个应用程序.也许这意味着当我按下特定按钮时更改所有div的颜色,或者在特定用户登录时更改整个webapp的颜色.
只是为了对我目前正在进行的工作提供一些见解,我会说我已经构建了一个使用许多库的Vue.js应用程序,其中包括一个名为Element-ui的库,它已经内置了一个主题选项.问题是它是用scss编写的,我想在导航过程中更改所有变量颜色.我的项目看起来像这样:
<template>
... some HTML and components...
</template>
<script>
... some javascript ...
</script>
<style scoped>
... some style that is scoped to the current component only ...
</style>
Run Code Online (Sandbox Code Playgroud)
我有很多类似这样的文件,因此对所有这些文件进行"全局功能"对我来说似乎并不实用.我也只在我的导入一次主scss文件main.js
.
有什么办法可以为我的webapp创建一个dinamic主题吗?使用saas是个好主意吗?可能是Javascript?
我觉得我没有足够好地解释它,所以我想添加一个简单的例子.如果您访问元素页面,您可以在右上角看到一个颜色选择器,当颜色发生变化时,它也会改变整个网站的重点颜色,如按钮颜色,链接颜色等.
希望这有助于更好地理解
现在我已经找到了一个非常差的,我认为,非常优化的解决方案.我们的想法是,当用户更改主题时,我只需创建一个新的css文件并将其附加到当前文档.
let sheet = document.createElement('style')
sheet.innerHTML = `*[class*="--primary"]{
background-color: ${colors[0]};
}
...`;
document.body.appendChild(sheet);
Run Code Online (Sandbox Code Playgroud)
我真的认为这是一个非常糟糕的解决方案,但是现在当用户更改参数时,我无法想出任何其他可以正常工作的方法.我真的希望这个过程是完美无缺的:用户选择一种颜色,整个应用程序只是更改为特定的颜色,没有预先构建theme.css
.
我终于找到了解决方案,请参考答案!
目标是输入一个简单的字符串查询,如
SELECT *
FROM c
WHERE c.deviceId = "device1"
Run Code Online (Sandbox Code Playgroud)
并且需要删除所有由此产生的获取的文档。
我找到了关于使用存储过程执行此操作的非常旧的帖子,但我无法使其与“新”UI 一起正常工作。
非常感谢。
编辑:我觉得@jay-gong 指出了正确的方向,但我在他的解决方案中遇到了问题:
我可以正确创建存储过程,但是当我尝试执行它时,它要求我提供分区键,但在执行后,它不会删除任何文档。
该集合只有几个文档,它的分区键是/message/id
我在分区键字段中写的。
我今天的问题与循环内的承诺有关。就在这里,我会放我的代码,正如你所看到的,它做了一些事情。首先,它在我的所有事件中循环,并将它在其中找到的日期拆分为 3 个字段以将其插入到 SQL 数据库中。
我总共填了 2 个表,一个是日期,一个是实际事件。问题在于,当这段代码被执行时,它会一直循环到最后并一次性完成所有日期分配,然后它开始释放承诺。这使我的函数插入 x 次相同的日期和事件(其中 x 是我的事件数组的长度)。
现在,为什么会发生这种情况?我专门针对这个问题研究并实现了 promise,但它似乎仍然存在。有人可以向我解释我做错了什么吗?另外,你是不是觉得这段代码有点“末日金字塔”之类的?非常感谢!
events.forEach(function (event) {
// Simple date formatting
dayFormatted = event.day.split("_");
year = dayFormatted[0];
month = dayFormatted[1];
day = dayFormatted[2];
// Check if the row already exists ...
SQLCheckTableRow(`day`, year.toString(), month.toString(), day.toString()).then(function (skip) {
// ... if not it skips all this part
if (!skip) {
// Create, if it doesn't exist already, a date table that is going to be connected to all the events and …
Run Code Online (Sandbox Code Playgroud) 我今天遇到的问题与路由有关.我有两个主要代码:一个是前端,另一个是后端.
前端是使用Vue.js编写的,所以它是SPA.这个webapp很复杂,涉及很多路由和后端AJAX API调用.
// All imports
import ...
loadMap(Highcharts);
loadDrilldown(Highcharts);
boost(Highcharts);
Vue.config.productionTip = false
Vue.use(VueCookie);
Vue.use(ElementUI, {locale});
Vue.use(VueRouter);
Vue.use(VueHighcharts, {Highcharts });
Vue.use(HighMaps);
// This is a global component declaration
Vue.component('app-oven', Devices);
Vue.component('app-sidebar', SideBar);
Vue.component('app-header', Header);
Vue.component('app-footer', Footer);
Vue.component('app-query', Query);
Vue.component('app-deviceproperties', DeviceProperties);
Vue.component('app-device', Device)
Vue.component('app-queryselection', QuerySelection)
Vue.component('app-index', Index)
Vue.component('app-index', Error)
Vue.component('app-realtime', RealTime);
Vue.component('app-login', Login)
Vue.component('app-preferences', Preferences)
const routes = [
{ path: '/index', component: Index},
{ path: '/', component: Login},
{ path: '/device/:deviceId', component: Device},
{ …
Run Code Online (Sandbox Code Playgroud)