小编jbo*_*cic的帖子

SPA中的Google DFP广告管理系统(Angular,Vue) - 如何销毁广告及其所有引用以避免内存泄漏

我试图在两者Vue.jsAngularSPA中使用谷歌的DFP,但它似乎导致内存泄漏.

在Angular中,您可以看到概念验证https://github.com/jbojcic1/angular-dfp-memory-leak-proof-of-concept.对于广告,我使用的是ngx-dfp npm包(https://github.com/atwwei/ngx-dfp).要重现拉动并运行概念证明项目,请转到主页,该主页最初将在Feed中包含3个广告,并执行堆快照.之后,通过使用标题中的链接转到没有广告的页面,再次执行堆快照,您将看到在销毁插槽之后保留插槽引用,这会导致内存泄漏.

在Vue中,我有一个创建和销毁广告位的组件,我会在内容Feed中动态添加它们.当我离开页面时,组件被销毁,并且在beforeDestroy钩子中,我调用destroySlots,但似乎有些引用仍在那里.

这是我的dfp-ad组件:

<template>
  <div :id="id" class="ad" ref="adContainer"></div>
</template>

<script>
  export default {
    name: 'dfp-ad',
    props: {
      id: { type: String, default: null },
      adName: { type: String, default: null },
      forceSafeFrame: { type: Boolean, default: false },
      safeFrameConfig: { type: String, default: null },
      recreateOnRouteChange: { type: Boolean, default: true },
      collapseIfEmpty: { type: Boolean, default: true },
      sizes: { type: …
Run Code Online (Sandbox Code Playgroud)

google-dfp vue.js gpt vuejs2 angular

22
推荐指数
1
解决办法
1791
查看次数

Angular Material 2 - 处理多个验证错误消息

我正在使用Angular Material 2创建一个表单.我使用模板驱动的表单,我有电子邮件输入,有两个验证器(必需和电子邮件).在输入组件的文档(https://material.angular.io/components/component/input)中,它只说:

"如果输入元素可以有多个错误状态,则由消费者决定应该显示哪些消息.这可以通过CSS,ngIf或ngSwitch来完成."

没有例子,我无法在任何地方找到它.

这是我的HTML:

...
<form (ngSubmit)="onSubmit(registrationForm)" #registrationForm="ngForm">
    ...

    <md-input-container floatPlaceholder="never">
      <input mdInput type="email" placeholder="Enter your email address" name="email" [(ngModel)]="email" required email>
      <md-error class="required">Email is required.</md-error>
      <md-error class="email">Invalid email.</md-error>
    </md-input-container>

    ...
Run Code Online (Sandbox Code Playgroud)

目前,这两条消息始终显示.即使我输入了一些无效的电子邮件.

任何提到的解决方案(CSS,ngIf或ngSwitch)都可以,但我更喜欢CSS.

angular-material2 angular

9
推荐指数
2
解决办法
8899
查看次数

Parsley v2.0.0-rc2防止禁用字段验证

如何防止Parsley v2.0.0-rc2验证禁用的字段?在以前版本中,默认情况下会禁用禁用的字段

validation jquery parsley.js

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

opencv c ++:将图像矩阵从unsigned char转换为float

转换图像矩阵时遇到问题.我用:

Mat image = imread(image_name, 0);
Run Code Online (Sandbox Code Playgroud)

将图像读入Mat对象.当我查看调试器时,我看到数据存储为unsigned char.

接下来,我使用convertTo方法将数据转换为浮点值:

Mat image_f;
image.convertTo(image_f, CV_32F);
Run Code Online (Sandbox Code Playgroud)

我再次查看调试器,数据仍然是unsigned char类型.

我究竟做错了什么?

c++ opencv

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