小编Chr*_*ris的帖子

onCreated中的流星访问数据上下文

我有一个任务列表,我想在单击其中一个任务时加载相应注释的列表.铁路由器代码:

Router.route('/taskComments/:_id', function () {
        var item = Tasks.findOne(this.params._id);
        this.render('commentList', {data: item});
    },
    {
        name: 'taskComments',
        fastRender: true
    }
);
Run Code Online (Sandbox Code Playgroud)

模板助手:

Template.commentList.helpers({
    comments: function(){
        return Comments.find({taskID: this._id});
    });
Run Code Online (Sandbox Code Playgroud)

我可以在上面的代码片段中访问任务ID(this._id),但它似乎不适用于onCreated:

Template.commentList.onCreated(function(){
    this.subscribe("comments",this._id);
});
Run Code Online (Sandbox Code Playgroud)

当我控制日志时,它给了我以下对象:

在此输入图像描述

请注意,没有_id,数据也为空.

meteor

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

Meteor + webpack教程用火焰代替反应?

我的项目对于流星构建系统来说太大了(加载时间> 1分钟),因此我想切换到webpack.我能找到的所有教程和样板都使用Meteor/react/webpack的组合,但我的项目使用了火焰,我现在不想切换到反应.

我很难弄清楚示例项目中的哪些代码位属于反应,哪些是使webpack工作所必需的.(我对反应并不熟悉).

有人知道使用带火焰的webpack的教程或示例github项目吗?

meteor reactjs webpack meteor-blaze

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

如何正确开发/调试 Chrome 扩展

我刚刚开始开发我的第一个 Chrome 扩展程序。

教程是这样描述这个过程的:

  • 将代码放入文件夹中
  • 使用 Settings | 将其加载到 Chrome 中 扩展
  • 运行它并使用 Chrome 开发工具设置断点。

然而,这似乎是一个极其乏味的过程。我使用 WebStorm,更愿意从那里开始调试会话,并在 WebStorm 中设置断点。

我确信必须有一个选项,并且开发人员不会在每次更改后手动在 Chrome 中加载扩展。

google-chrome-extension webstorm

6
推荐指数
0
解决办法
807
查看次数

Typescript动态创建界面

我使用simple-schema在对象中定义DB模式:

{
   name: 'string',
   age: 'integer',
   ...
}
Run Code Online (Sandbox Code Playgroud)

是否有可能从这个对象创建一个接口或类,所以我不必两次输入所有内容?

javascript typescript

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

vuejs typescript 属性路由器不存在

我尝试在我的打字稿类组件中访问路由器:

import {Vue} from 'vue-property-decorator'
import Component from 'nuxt-class-component'
import {Getter, Action} from 'vuex-class'

@Component
export default class Login extends Vue {
    @Action login

    username = ''
    password = ''

    async submit () {
        await this.login({username: this.username, password: this.password})
        this.$router.push('/results')
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我得到:

error TS2339: Property '$router' does not exist on type 'Login'.
Run Code Online (Sandbox Code Playgroud)

typescript vue.js

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

什么时候执行 typescript/js 装饰器

装饰器什么时候执行?

class Person {
    @SomeDecorator
    age
}
Run Code Online (Sandbox Code Playgroud)
  1. 当我创建一个 Person 实例时
  2. 当解析 Person 类时

静态属性呢?

javascript decorator typescript

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

vue在v-model之后执行@click

我有一个复选框,其状态基于todo.complete todo.save()将当前完成值持久保存到数据库中。但是@click似乎是在v模型绑定更新之前触发的todo.complete

  <v-checkbox v-model="todo.complete" @click="todo.save()" :label="todo.title" />
Run Code Online (Sandbox Code Playgroud)

我必须像这样做才能使其工作:

  <v-checkbox v-model="todo.complete" @click="todo.complete = !todo.complete; todo.save()" :label="todo.title" />
Run Code Online (Sandbox Code Playgroud)

todo.save()v模型更新后,有什么方法可以执行。就像是@click.after

javascript vue.js vuetify.js

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

如何将 Laravel 可邮寄到变量

我需要获取 Mailable 类的 html

$mail->html = (new InactivityReminder())->"do something to output the html"
Run Code Online (Sandbox Code Playgroud)

似乎没有 toHtml 方法或类似的东西。

可邮寄:

class InactivityReminder extends Mailable
{
    use Queueable, SerializesModels;

    public function __construct()
    {

    }

    public function build()
    {
        return $this->markdown('mail.it.inactivityReminder');
    }
}
Run Code Online (Sandbox Code Playgroud)

laravel

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

将变量导入 stylus 和 scss

我在我的项目中使用了 stylus 和 scss。是否可以拥有一个可以同时使用的通用变量文件?

我努力了:

变量.scss

$primary: #00A9E0
Run Code Online (Sandbox Code Playgroud)

主样式

@import 'variables.scss"
Run Code Online (Sandbox Code Playgroud)

由于语法不同,这显然不起作用

css stylus sass

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

js 以编程方式应用装饰器

我有一个类装饰器,并想用它来将另一个装饰器应用于类中的所有方法,但我不太确定如何在不使用 @ 语法的情况下以编程方式应用装饰器:

@LogAllMethods
class User {
    greet() {
        console.log('Hello')
    }
}

function LogAllMethods(target) {
    for (const key in Object.keys(target.prototype)) {
        // apply LogMethod decorator
    }
}

function LogMethod(target, key, descriptor) {
    let method = descriptor.value
    decriptor.value = function(...args) {
        console.log(args)
        method.apply(this, ...args)
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript decorator typescript

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