Vue js:通过方法初始化数据是否可行?

时间:2017-05-21 11:57:23

标签: laravel methods initialization vuejs2

基本上我想通过比较两个值来初始化我的表单上的 vValidNombre 字段,所以使用方法会很好,如下所示:

<script type="text/javascript">
  var avatar = new Vue({
    el: '#validaciones',
    data: {
      vNombre: $('input[name=nombre]').val(),
      vValidNombre: validar(),
    },
    methods: {
      validar: function(){
        if ('true' == 'true') {
          return = true;
        }
        else {
          return false;
        }
      }
    }
  })
</script>

此代码不起作用,但可以做类似的事情吗?

编辑:我正在使用Vue 2

1 个答案:

答案 0 :(得分:1)

不是真的。初始化时,vValidNombre将是未定义的。但是,您可以使用ready方法执行以下操作:

var avatar = new Vue({
    el: '#validaciones',
    data: {
        vNombre: $('input[name=nombre]').val(),
        vValidNombre: null,
    },

    ready: function() {
        this.vValidNombre = this.validar();
    }

    methods: {
      validar: function(){
          // do something here
          // and return it
      },

      bindDom: function() {

      } 
    },

})