Vue.Js, привязка значения к флажку в компоненте

PHP имеет оболочку потока ssh2 (по умолчанию отключена), поэтому вы можете использовать соединения sftp с любой функцией, поддерживающей обтекатели потоков, используя ssh2.sftp:// для протокола, например

file_get_contents('ssh2.sftp://user:pass@example.com:22/path/to/filename');

или - когда также используя расширение ssh2

$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');

См. http://php.net/manual/en/wrappers.ssh2.php

На стороне примечания также есть довольно много вопросов по этой теме:

0
задан Stan Ed 28 February 2019 в 23:25
поделиться

3 ответа

Если v-on - единственный прослушиватель, который будет использоваться, может быть проще использовать v-model, как в примере с флажком из документов ввода Vue .

Однако вы можете использовать слушателей на основе Binding-Native-Events-to-Components документов

<template>
  <div class="field">
    <label :for="name" class="label">
      {{ label }}
    </label>
    <div class="control">
      <input :id="name" :name="name" type="checkbox" class="control" checked="value" v-on="listeners" />
    </div>
    <p v-show="this.hasErrors" class="help has-text-danger">
      <ul>
        <li v-for="error in errors" :key="error">{{ error }}</li>
      </ul>
    </p>
  </div>
</template>
<script>
export default {
    name: 'check-edit',
    props: {
        value: {
            type: Boolean,
            default: false
        },
        label: {
            type: String,
            default: ''
        },
        name: {
            type: String,
            default: ''
        },
        errors: {
            type: Array,
            default: () => []
        }
    },
    mounted() {},
    computed: {
        listeners() {
            var vm = this;
            // `Object.assign` merges objects together to form a new object
            return Object.assign(
                {},
                // We add all the listeners from the parent
                this.$listeners,
                // Then we can add custom listeners or override the
                // behavior of some listeners.
                {
                    // This ensures that the component works with v-model
                    input: function(event) {
                        vm.$emit('input', event.target.checked);
                    }
                }
            );
        },
        hasErrors() {
            return this.errors.length > 0;
        }
    }
};
</script>


0
ответ дан fstep 28 February 2019 в 23:25
поделиться

Вы не должны $emit event.target.value, это значение флажка, это не логическое значение. Если вы хотите определить, является ли флажок обновлением (быть истинным или ложным) или нет, вам следует $emit event.target.checked точно так же, как сказал fstep.

0
ответ дан bcjohn 28 February 2019 в 23:25
поделиться

Не меняйте реквизит. Ваш компонент, имеющий v-model, должен излучать входные события при изменении . Родитель будет обрабатывать фактическое изменение значения.

0
ответ дан Roy J 28 February 2019 в 23:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: