javascript - 如何处理 Laravel 到 Vue.js 的 bool 值

标签 javascript php html laravel vue.js

我有一个如下所示的输入字段:

<tr v-for="(item, index) in collection">
   ...
   <input 
          type="checkbox" 
          v-model="item.activated" 
          @change="toggleSwitch(item.resource_url, 'activated', item)">
   >
   ...
</tr>

集合是一个包含多个键的数组,activated 是其中之一。由于数据来自 mysql 数据库,activated 等于 10。问题在于,在这种情况下,输入字段始终设置为 true,即使 activated 等于 1 或 0。

现在,我尝试像这样编写 v-model 来解决这个问题:

v-model="!!+item.activated"

通过添加 !!+ 我会将整数值转换为 bool 值并使用它。这解决了问题,但又产生了另一个问题。我这样做遇到的另一个问题是,当我尝试更改检查的输入时,出现错误:

[Vue warn]: Cannot set reactive property on undefined, null, or primitive value: false
admin.js:120238 TypeError: Cannot use 'in' operator to search for 'activated' in false

toggleSwitch 方法如下所示:

toggleSwitch: function toggleSwitch(url, col, row) {
    var _this8 = this;

    axios.post(url, row).then(function (response) {
        _this8.$notify({ type: 'success' });
    }, function (error) {
        row[col] = !row[col];
        _this8.$notify({ type: 'error' });
    });
},

我是 Vue.js 新手,知道如何调试它以及我的问题来自哪里?我很乐意提供任何其他信息。

编辑:

这是我的组件

Vue.component('profile-edit-profile-form', {
    mixins: [AppForm],
    data: function() {
        return {
            form: {
                ...
                activated:  false ,
                ...
            }
        }
    }
});

最佳答案

如果您使用 AJAX 填充您的 collection,那么您应该在注入(inject)之前在 AJAX 回调中将 01 字符串转换为 bool 值将它们放入您的组件中。或者更好的是,您可以直接从 Controller 转换它们,这样您就可以直接获得 true|false

data.forEach(function(entry) {
    if(entry.hasOwnProperty("activated"))
        entry.activated = !!+entry.activated
});

关于javascript - 如何处理 Laravel 到 Vue.js 的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61259662/

相关文章:

javascript - Canvas 中图像的圆 Angular

javascript - 如何在多个 SlickGrid 上使用通用格式化程序?

javascript - 替换字符串中的单词

php - 从 PHP 5.3.3 升级到 PHP 5.5 CentOS 6.9(Remi-release)WordPress SMF php-mysql 不起作用

php - 如何获取PDO中查询语句的类型?

html - Youtube 视频无法在手机上播放

javascript - 如何使用curl.js加载对象?

javascript - 使用 JQuery 改变颜色

php - 如何更改小部件菜单容器

php - 引用 javascript(jquery)-html-php