簡體   English   中英

我試圖比較檢索到的標簽與選定或創建的標簽,如果標簽不存在perfom post請求

[英]I am trying to compare the retrieved tags with selected or created tags, if tag doesn't exist perfom post request

我有一個包含一些標簽的對象,我檢索了可供選擇的標簽列表,但我想在提交表單之前創建一些標簽。 我正在嘗試使用vue手表,但它似乎無法正常工作。 這是代碼:

 data() { return { blog: { blog_title: "", tags: "", text: "", }, myTags: {} }; }, watch: { blog: { deep: true, handler: function(tag) { let token = localStorage.getItem("TOKEN_STORAGE_KEY"); for(tag of this.blog.tags) { if (this.myTags.includes(tag)) { return axios.post(API_URL + "tags/", tag, {headers: { Authorization: `Token ${token}` }}) } } } 

注意:我正在使用vuetify組合框:

<v-combobox label="Tags" :multiple="true" :return-object="false" :items="myTags" item-text="title" chips v-model="blog.tags"></v-combobox>

我打算在輸入新標簽后執行發布請求。

1 - handler: function(tag) - tag在這里沒有標簽-它是新價值blog -你設置監視屬性。 2nd - for(tag of this.blog.tags)您使用入站參數迭代blog.tags 這可能不是你想要的。

那么,應該工作的結果代碼:


watch: {
    blog: {
      deep: true,
      handler: function(newVal) {
      let token = localStorage.getItem("TOKEN_STORAGE_KEY");
      for(let tag of newVal.tags) {
        if (this.myTags.includes(tag)) {
          return axios.post(API_URL + "tags/", tag, {headers: { Authorization: `Token ${token}` }})
        }
      }
    }

我重構了我的標簽模型,我正在使用django-category包,我用新模型替換它,我擺脫了手表垃圾代碼,它工作得很好。 如果你通過這個問題或問題,我用過

 class CustomSlugRelatedField(serializers.SlugRelatedField): def to_internal_value(self, data): try: obj, created = self.get_queryset().get_or_create(**{self.slug_field: data}) return obj except (TypeError, ValueError): self.fail('invalid') 

正如這個答案所述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM