在Vuejs中为所有组件提供全局css文件的最佳方法是什么?(默认css如bg颜色,按钮样式等)
我目前正在开发一个新的Vue.js应用程序.它在很大程度上取决于对我的后端数据库的api调用.
对于很多事情,我使用Vuex商店,因为它管理我的组件之间的共享数据.在github上查看其他Vue项目时,我看到一个特殊的vuex目录,其中包含处理所有操作,状态等的文件.因此,当组件必须调用API时,它包含来自vuex目录的actions文件.
但是,对于消息,例如,我不想使用Vuex,因为这些数据仅对一个特定视图很重要.我想在这里使用组件特定数据.但这是我的问题:我仍然需要查询我的api.但我不应该包含Vuex动作文件.因此,我应该创建一个新的动作文件.这样我就有一个特定的文件,其中包含针对vuex和单个组件的api操作.
我应该如何构建这个?创建一个新目录'api'来处理vuex数据和特定于组件的数据的操作?还是把它分开?
介绍
我目前正在创建一个模板构建器,用户可以在其中为应用程序构建模板.用户可以拖放多个块,例如文本块和"自定义代码"块.该模板将在应用程序中解析.现在,模板看起来像这样:
<section>
<div class="row">
<div class="col-sm-12">
<section data-type="code">
<#code></#code>
</section>
</div>
</div>
<div class="row">
<div class="col-sm-12" data-type="container-content">
<section data-type="text">
<u>Lorem</u> ipsum
</section>
</div>
</div>
</section>
Run Code Online (Sandbox Code Playgroud)
因此,此模板包含两个元素(请参阅data-type属性):一部分是自定义编写的代码.在这里,用户编写了自定义代码,包括Apache Freemarker代码.第二部分是自定义书面文字.
情况
上面的代码将以两种不同的方式使用.
问题
当我在Web界面中直接渲染模板时,该text部件将使用<u></u>标签正确呈现,但该code部件也将呈现为html,这可能会导致奇怪的行为(例如freemarker表示法</#list>被自动转换为<!--#list-->).
但是,如果我将完整模板仅渲染为文本,则text带有<u></u>标记的部分也不会被渲染.
预期结果
我想用JavaScript/jQuery读取模板变量,然后data-type用texthtml和codetext 解析每个变量.
我如何循环模板并执行此操作?
在我的Vue.js应用程序中,我想要一些全局函数.例如callApi(),每次我需要访问我的数据时我都可以调用的函数.
包含这些功能的最佳方法是什么,以便我可以在所有组件中访问它?
我有一个users包含用户帐户的表(user_id,username,...).user_id与多个其他表相关 - 例如,包含其最后操作的表,配置文件详细信息,他的产品,他的兴趣等.
有时用户想要删除,然后我将字段'已删除'设置为1.应删除大多数表中的记录,但2个表(reports和messages)中的记录应保留对用户的引用.原因:例如,消息合作伙伴仍希望查看他最近与之交谈的帐户的用户名.做这个的最好方式是什么?
1)在PHP中存储记录的ID,reports并且messages应该保存在数组中.然后删除用户.自动所有与users删除其记录相关的表,并引用已删除的帐户.引用reports和messages应该是:ON UPDATE SET NULL所以他们的记录在用户删除后仍然存在.数据库现在是干净的,然后将具有相同user_id的用户重新插入,并将字段'deleted'重新插入1.然后将数组中的数据更新为user_id,以便再次设置引用.
2)删除对用户的引用reports和messages(因此没有外键).
3) ......(有更好的选择吗?)
谢谢!
如何将PHP strtoupper函数用于字符串的前两个字符?或者还有其他功能吗?
因此字符串'hello'或'Hello'必须转换为'HEllo'.
我使用Pulsate函数(http://docs.jquery.com/UI/Effects/Pulsate).使用参数'times',我可以设置元素脉动的时间.默认值为5,但如何设置元素将无限脉动.
我有一个数组:
$array=array(
"sdf"=>500,
"gsda"=>1000,
"bsdf"=>1500,
"bads"=>2000,
"iurt"=>2500,
"poli"=>3000
);
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到下一把钥匙的名字?例如,如果当前数组是gsda,我需要bsdf.
我目前正在将我的应用程序从Vue.js 1升级到Vue.js 2.我的主要组件中的以下函数存在问题:
<script>
export default {
ready: function listenKeyUp() {
window.addEventListener('keyup', this.handleKeyUp());
},
methods: {
handleKeyUp(e) {
if (e.keyCode === 27) {
this.$router.go({ name: '/' });
}
},
},
};
</script>
Run Code Online (Sandbox Code Playgroud)
我的控制台显示此错误:'window' is not defined
这怎么可能?我不明白原因.如何解决这个问题以及新版本出现这个问题的原因是什么?
---编辑---一些额外的代码:
main.js:
// Import plugins
import Vue from 'vue';
import VueResource from 'vue-resource';
import VueI18n from 'vue-i18n';
// Import mixins
import api from './mixins/api';
// Import router config
import router from './router';
// Register plugins
Vue.use(VueResource);
Vue.use(VueI18n);
Vue.mixin(api);
// Go
new Vue({ …Run Code Online (Sandbox Code Playgroud) 我读了很多关于这个问题的话题,但我找不到解决方案.
我有一个表(称为用户)与我的网站的用户.他们有积分.例如:
+-----------+------------+
| User_id | Points |
+-----------+------------+
| 1 | 12258 |
| 2 | 112 |
| 3 | 9678 |
| 4 | 689206 |
| 5 | 1868 |
+-----------+------------+
Run Code Online (Sandbox Code Playgroud)
在页面顶部设置变量$ user_id.例如,user_id是4.现在我想通过点获得用户的等级(如果user_id是4,则输出应为1).
非常感谢你!