小编Ale*_*der的帖子

如何忽略vuejs中的html元素

如何防止Vue.js在markdown生成的<code>标签内运行代码?这是一个Laravel 5.5 + Vue.js 2.x项目,带有'andreasindal/laravel-markdown'套餐用于降价.Vue试图运行的代码实际上是一个Laravel Blade指令,看起来Blade本身并没有尝试处理它(因为我在控制台中收到了关于此的Vue错误).

{{ session('notificationType') }}
Run Code Online (Sandbox Code Playgroud)

我厌倦了修改Parsedown.php类(由'andreasindal/laravel-markdown'使用)来用HTML ASCII字符替换所有'{'.替换确实有效,但Vue仍在处理这些.

markdown laravel vue.js

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

404响应上的Laravel,Barryvdh / laravel-cors和axios跨源请求阻止错误

我正在使用Laravel和laravel-cors软件包作为后端。我正在使用来自不同域的axios发出API请求。基本上,一切正常。

然后,我创建了此新路线以按ID检索单个对象。当具有id的对象存在时,我会收到数据的正常响应。如果没有,我会收到正常的404响应(在“网络”标签中选中),但在控制台中却收到此错误:

跨域请求被阻止:同源策略禁止读取位于http:// ...的远程资源(原因:缺少CORS标头“ Access-Control-Allow-Origin”)。

而且,axios不会将其确定为404错误,而是未知的“网络错误”。我无法在SPA中正确处理此响应,并且我认为这不是预期的行为。

cors laravel single-page-application axios

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

Vue.js不会使用v-for重新渲染组件

我正在尝试制作一个多文本输入组件.有一个父Vue组件来管理单个字段和一个组件用于单个输入.

父组件通过v-for渲染子组件,该组件绑定到对象数组.

data() {
    return {
        lastItemId: 0,
        items: [{ id: this.lastItemId, value: '', showDeleteBtn: false}]
    }
},
Run Code Online (Sandbox Code Playgroud)

模板:

<div>
    <input-item v-for='(item, index) in items'
                :key="item.id"
                :default-data="item"
                @itemAdded="addItemAfter(index)"></input-item>
</div>
Run Code Online (Sandbox Code Playgroud)

每当用户开始输入列表中的最后一个字段时,我发出一个事件,在其后面添加一个新的文本字段.

addItemAfter(index) {
    if (index == this.items.length - 1) {
        this.items.push({
            id: ++this.lastItemId,
            value: '',
            showDeleteBtn: false
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,我还需要更新当前索引处的项目以显示该字段附近的删除按钮.无论我做什么,Vue都不会重新渲染该组件,除非我为该索引设置了一个具有不同ID的对象 - 这不是我想要的.

我尝试过的事情:

this.items[index].showDeleteBtn = true;
Run Code Online (Sandbox Code Playgroud)
let item = this.items[index];
item.showDeleteBtn = true;
this.$set(this.items, index, item);
Run Code Online (Sandbox Code Playgroud)
let item = this.items[index];
item.showDeleteBtn = true;
this.items.splice(index, 1, item);
Run Code Online (Sandbox Code Playgroud)
this.$set(this.items[index], 'showDeleteBtn', true);
Run Code Online (Sandbox Code Playgroud)

更新 …

javascript vue.js vuejs2

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