小编low*_*nts的帖子

Vue watch 意外调用两次

udpate #2:这不是错误,这是我自己的错。我BaseComponent通过一种extend()方法以及放入extends: BaseComponent选项来扩展。我以为我需要两者,但extends: BaseComponent在选项中似乎就足够了。
因此,双重“扩展”显然重复了观察者,这导致了我在问题中记录的奇怪行为。

更新:我发现了导致此问题的原因:观察者似乎是重复的,因为它位于BaseComponentComponent我的示例中使用的which扩展的a中。所以export default BaseComponent.extend({ name: 'Component', ...})似乎复制watch对象而不是“合并”它 - 现在有一个在BaseComponent(它最初实现的地方)和一个在Component- 当然两者都对道具更新做出反应。
恕我直言,这似乎是一个错误。


使用vue-cli单文件组件。
我通过一种方法在一个组件中设置了一个道具:

<template>
  <div>
    <other-component :my-object="myObject" />
  </div>
</template>

<script>
  export default (Vue as VueConstructor).extend({
    data() {
      return {
        myObject: null
      }
    },

    methods: {
      actionButtonClicked(action, ID) {
        console.log('actionButtonClicked');

        this.myObject = {
          action: action,
          ID: ID
        }
      }
    }
  });
</script> …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-cli

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

PHP 7返回类型声明 - 致命错误

我想尝试PHP 7的返回类型声明(我在Windows上使用PHP 7RC3用于此目的).

我想从一件非常简单的事情开始:

function getme() : integer
{
    return 434;
}
echo getme();
Run Code Online (Sandbox Code Playgroud)

但这给了我一个致命的错误:

致命错误:未捕获TypeError:getme()的返回值必须是整数的实例,返回整数

然后我也尝试转换返回值,但是 return (integer) 434;或者return (int) 434;给我同样的错误;

最后我也尝试过:

function getme() : integer
{
    $i = 434;
    return (integer) $i;
}
echo getme();
Run Code Online (Sandbox Code Playgroud)

结果相同.

我究竟做错了什么?
或者我在这里误解了什么?

感谢您的任何解释和帮助!

更新
这就是为什么我认为我必须使用integer而不是int(特别注意Toby Allen):

来自https://wiki.php.net/rfc/return_types:

无效使用示例(...)

// Int is not a valid type declaration

function answer(): int {
    return 42;
}
answer();
Run Code Online (Sandbox Code Playgroud)

php return-type php-7

7
推荐指数
1
解决办法
3353
查看次数

在wkhtmltopdf中添加与分页符相关的CSS的位置?

我在Windows上使用wkhtmltopdf 0.12.3.2.

我知道围绕这个主题有很多问题和答案,但我仍然无法找到问题的答案; 我不知道在哪里放置相应的CSS - 或者CSS不能用于某些(其他)原因:

例如,我试图将与分页相关的CSS直接放入我想要呈现的html文件中.我试图<span class="break_here"></span>在我的强制分页符<body>:

<!-- ... -->
<head>
    <style>
        span.break_here {
            page-break-after: always !important;
        }
    </style>
</head>
<!-- ... -->
Run Code Online (Sandbox Code Playgroud)

这没有做任何事情.

然后我也尝试将它放入@media print{}或者@media screen{}没有改变任何东西:

<style>
    @media screen{
        span.break_here {
            page-break-after: always !important;
        }
    }
</style>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

编辑:通过添加--user-style-sheet使用外部样式表的选项,甚至还有另一种可能性.

html css pdf wkhtmltopdf

6
推荐指数
1
解决办法
1782
查看次数

快递会话cookie隐藏在哪里?

express-session正在工作,我用一个非常短的cookie max-age(10秒)测试它,它按预期工作:

app.use(session({
  secret: 'xxx',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: true, maxAge: 10000 }
}));
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我在Chrome开发者工具的任何地方找不到cookie.express-session隐藏的cookie设置在哪里?

更新2: 见我自己的答案,如果你想知道在哪里看到的cookie,如果您正在发送ajax requestexpress server另一个域.

更新 - 我的快速服务器上的会话管理:

app.post('/verify', function(req, res){
    let out = [];

    if(!req.session.userId){

        if(typeof req.body.token !== 'undefined'){
            admin.auth().verifyIdToken(req.body.token)
            .then(function(decodedToken) {
              let uid = decodedToken.uid;

              if(!req.session.userId){
                  req.session.userId = uid;
              }

              res.send(uid);
              // ...
            }).catch(function(error) {
              // Handle error
              res.send(error);
            });
        }else{
            res.send('no token received');
        }
    }else{
        res.send('already logged in by session with …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express express-session

6
推荐指数
1
解决办法
2171
查看次数

如何在 CKEditor 中将 google-font 设置为默认字体?

我想在我的 CKEditor 中使用“Open Sans”作为默认字体,但不知道如何使用。
我正在使用 CKEditor 4.4.5 full

我已经在我的 html 头中包含了字体:

<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
Run Code Online (Sandbox Code Playgroud)


然后我尝试通过更改contents.css中的CSS来更改CKEditor的默认字体:

body
{
    /* Font */
    font-family: "Open Sans";
    font-size: 18px;
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用。

我还尝试在我的 Javascript 中设置它:

CKEDITOR.config.font_names = "Open Sans;";
CKEDITOR.config.font_defaultLabel = 'Open Sans';
Run Code Online (Sandbox Code Playgroud)

但这似乎只影响“字体”工具栏的显示,而不是样式本身。


注意:当我使用“ckeditor-gwf-plugin”时,我可以使用“Open Sans”,但这也无助于我将其设置为默认字体。

谢谢你的帮助 !

html css rich-text-editor ckeditor google-font-api

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