我有一个帮助过滤数据的函数.当用户更改 Select 时,我使用v-on:change,但我还需要在用户 Select 数据之前调用该函数.我之前使用ng-initAngularJS也做了同样的操作,但我知道vue.js中没有这样的指令

这是我的职责:

getUnits: function () {
        var input = {block: this.block, floor: this.floor, unit_type: this.unit_type, status: this.status};

        this.$http.post('/admin/units', input).then(function (response) {
            console.log(response.data);
            this.units = response.data;
        }, function (response) {
            console.log(response)
        });
    }

blade文件中,我使用blade forms执行过滤器:

<div class="large-2 columns">
        {!! Form::select('floor', $floors,null, ['class'=>'form-control', 'placeholder'=>'All Floors', 'v-model'=>'floor', 'v-on:change'=>'getUnits()' ]) !!}
    </div>
    <div class="large-3 columns">
        {!! Form::select('unit_type', $unit_types,null, ['class'=>'form-control', 'placeholder'=>'All Unit Types', 'v-model'=>'unit_type', 'v-on:change'=>'getUnits()' ]) !!}
    </div>

当我 Select 一个特定的项目时,这很好用.然后,如果我点击所有,比如说all floors,它就工作了.我需要的是,当页面加载时,它调用getUnits方法,该方法将使用空输入执行$http.post.在后端,我处理请求的方式是,如果输入为空,它将提供所有数据.

我怎么能在vuejs2分钟内做到这一点?

我的密码:http://jsfiddle.net/q83bnLrx

推荐答案

您可以在Vue组件的beforeMount部分调用此函数:如下所示:

 ....
 methods:{
     getUnits: function() {...}
 },
 beforeMount(){
    this.getUnits()
 },
 ......

工作小提琴:https://jsfiddle.net/q83bnLrx/1/

Vue提供了不同的生命周期挂钩:

我列举了以下几点:

  1. beforeCreate:在实例刚刚初始化之后、数据观察和事件/观察程序设置之前同步调用.
  2. created:在创建实例后同步调用.在此阶段,实例已完成处理选项,这意味着已设置以下选项:数据观察、计算(computed)属性、方法、监视/事件回调.然而,安装阶段还没有开始,而且$el房产还不可用.
  3. beforeMount:在装载开始之前调用:渲染函数即将第一次被调用.
  4. mounted:在实例刚刚挂载之后调用,其中el被新创建的vm.$el替换.
  5. beforeUpdate:在重新呈现和修补虚拟DOM之前,在数据更改时调用.
  6. updated:在数据更改后调用会导致虚拟DOM重新呈现和修补.

你可以看看完整的列表here.

您可以 Select 哪个钩子最适合您,并将其钩住以调用您的函数,如上面提供的示例代码所示.

Vue.js相关问答推荐

Vue3多姆参考已安装的添加EventButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButtButt

Vue 3 在一个值更改问题后再次重新渲染每一行

NUXT 3 在客户端获取数据

props至少应该定义它们的类型

将函数作为属性传递给 Vue 组件

nuxt.js - 预加载 .woff 字体加载为@font-face

使用 Laravel 作为后端刷新 Vue.js SPA 的身份验证令牌

Vue CLI - 编译后将配置文件保留为外部

aspnet core如何在deploy上构建webpack

如何在 vue 的 scss 中使用深度 Select 器

在 Vue 中,如何使用 npm run build 将 .htaccess 包含到生产环境中?

vuejs 中的单元测试

VueJS 组件中的图像未加载

Vuejs在复选框 Select 上切换div可见性

如何在某些路由上隐藏全局组件(例如导航栏)?

Vuex 存储数据总是驻留在内存中?

无法访问函数内的数据属性

Vue 2.0 设置路由 - 不要使用new来产生副作用

NPM:403 禁止 - PUT http://registry.npmjs.org/[package-name] - 禁止

Vue.js 和 jQuery datepicker/timepicker 双向绑定