小编jbo*_*ily的帖子

如何在父事件上调用子组件上的函数

上下文

在Vue 2.0中,文档和其他人清楚地表明,从父母到孩子的沟通是通过道具进行的.

父母如何告诉孩子一个事件是通过道具发生的?

我应该只看一个名为事件的道具吗?这感觉不对,也没有替代方案($emit/ $on是孩子到父母,而中心模型是远程元素).

我有一个父容器,它需要告诉它的子容器,可以在API上使用某些操作.我需要能够触发功能.

javascript event-handling vue.js vuejs2

116
推荐指数
8
解决办法
9万
查看次数

Vue-Router抽象父路由

我正在尝试将当前站点迁移到vuejs.站点地图必须是:

/login
/signup
/password-reset
/browse
/search
... dozens of other routes
Run Code Online (Sandbox Code Playgroud)

由于其中一些路线共享了很多fx,我让它们成为父路线的子路:

[{ // public routes
  path: '/', 
  component: Auth,
  children: [
    { path: '/login', component: Login },
    { path: '/signup', component: Signup },
    { path: '/password-reset', component: PasswordReset },
  ]
}, 
{ // routes behind Authentication
  path: '/', 
  component: Home,
  children: [
    { path: '/browse', component: Browse },
    { path: '/search', component: Search }
  ]
}]
Run Code Online (Sandbox Code Playgroud)

问题很明显:Auth和Home基本组件现在在技术上是相同的路径路径,我得到路由错误.由于我将有很多路由共享相同的基本组件和fx,我想让他们成为这些抽象状态的孩子.

问题1:如何在不冲突的情况下实现这些路由及其父抽象状态,而无需将所有包装逻辑添加到子项中?

问题2:我怎样才能使父状态()不可路由,或者如果是,则默认为子状态?

javascript vue.js vue-router

9
推荐指数
1
解决办法
2310
查看次数

Django Serializer Nested Creation:如何避免对关系进行 N+1 查询

有几十篇关于 Django 嵌套关系中的 n+1 查询的帖子,但我似乎无法找到我的问题的答案。这是上下文:

模型

class Book(models.Model):
    title = models.CharField(max_length=255)

class Tag(models.Model):
    book = models.ForeignKey('app.Book', on_delete=models.CASCADE, related_name='tags')
    category = models.ForeignKey('app.TagCategory', on_delete=models.PROTECT)
    page = models.PositiveIntegerField()

class TagCategory(models.Model):
    title = models.CharField(max_length=255)
    key = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)

一本书有很多标签,每个标签属于一个标签类别。

序列化器

class TagSerializer(serializers.ModelSerializer):
    class Meta:
        model = Tag
        exclude = ['id', 'book']

class BookSerializer(serializers.ModelSerializer):
    tags = TagSerializer(many=True, required=False)

    class Meta:
        model = Book
        fields = ['title', 'tags']

    def create(self, validated_data):
        with transaction.atomic():
            tags = validated_data.pop('tags')
            book = Book.objects.create(**validated_data)
            Tag.objects.bulk_create([Tag(book=book, **tag) for tag in tags])
        return book …
Run Code Online (Sandbox Code Playgroud)

python django django-serializer django-rest-framework

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

Django Admin表单:设置只读字段的默认值

目标:创建和更新资源时,在django管理表单上显示特定user_id请求的只读信息。

此显示应该是一个只读字段(readonly,未禁用)。的user_id显示被从请求用户派生(request.user),以使初始值被从设置。

这篇文章之后,我们应该get_form像这样简单地在方法中进行设置:

def get_form(self, request, obj=None, *args, **kwargs):
    form = super(ProfileAdmin, self).get_form(request, *args, **kwargs)
    form.base_fields['user'].initial = request.user
    return form
Run Code Online (Sandbox Code Playgroud)

但是,用户不再处于base_fields只读状态。实际上,我在任何地方都找不到它。有什么想法吗?

其他帖子建议保存,我打算这样做,但在此之前我需要将其显示在表单上。

python django

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