标签: vuejs2

观察计算属性

我有一个包含以下哈希的组件

{ 
  computed: { 
    isUserID: { 
      get: function(){
         return this.userId? 
      } 
  }
}
Run Code Online (Sandbox Code Playgroud)

我应该观看isUserID还是userId改变?你能看到计算属性吗?

computed-properties vue-component vuejs2

40
推荐指数
3
解决办法
4万
查看次数

如何从另一个vuex模块访问getter?

在vuex getter中我知道可以从另一个vuex模块访问状态,如下所示:

pages: (state, getters, rootState) => {
    console.log(rootState);
}
Run Code Online (Sandbox Code Playgroud)

如何从另一个vuex模块而不是状态访问getter?

我有另一个名为过滤器的 vuex模块,我需要访问,我试过这个:

rootState.filters.activeFilters
Run Code Online (Sandbox Code Playgroud)

activeFilters我的吸气剂在哪里,但这不起作用.使用rootState.filters.getters.activeFilters也行不通.

javascript vue.js vuex vuejs2

40
推荐指数
2
解决办法
2万
查看次数

Vue.js:条件类样式

我有一些可通过以下方式访问的数据:

{{ content['term_goes_here'] }}
Run Code Online (Sandbox Code Playgroud)

......并且评估为true或者false.我想根据表达式的真实性添加一个类,如下所示:

<i class="fa" v-bind:class="[{{content['cravings']}} ? 'fa-checkbox-marked' : 'fa-checkbox-blank-outline']"></i>
Run Code Online (Sandbox Code Playgroud)

这里true给我的阶级fa-checkbox-marked和假会给我fa-checkbox-blank-outline.我上面写的方式给了我一个错误:

- invalid expression: v-bind:class="[{{content['cravings']}} ? 'fa-checkbox-marked' : 'fa-checkbox-blank-outline']"
Run Code Online (Sandbox Code Playgroud)

我该怎么写它才能有条件地确定课程?

javascript conditional-formatting vue.js vuejs2

39
推荐指数
6
解决办法
9万
查看次数

VueJs,计算属性和观察者之间的区别?

在Vue.js文档中有一个如下例子:

var vm = new Vue({
  el: '#demo',
  data: {
    firstName: 'Foo',
    lastName: 'Bar',
    fullName: 'Foo Bar'
  },
  watch: {
    firstName: function (val) {
      this.fullName = val + ' ' + this.lastName
    },
    lastName: function (val) {
      this.fullName = this.firstName + ' ' + val
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

上面的代码是必要的和重复的.将其与计算属性版本进行比较:

var vm = new Vue({
  el: '#demo',
  data: {
    firstName: 'Foo',
    lastName: 'Bar'
  },
  computed: {
    fullName: function () {
      return this.firstName + ' ' + this.lastName
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

观察者比计算属性更合适的情况是什么?我该如何决定选择哪个?文档一直说它更"通用",但并没有真正实现其目的.

vue.js vuejs2

39
推荐指数
3
解决办法
2万
查看次数

Vue.js 2:从数据对象中删除属性

如何从Vue.js数据对象(即关联数组)中删除属性/键,如下所示:

var vm = new Vue({
    data: {
        users: {
            foo : { firstName: ..., lastName: ... },
            bar : { firstName: ..., lastName: ... }
        }
    },
    methods: {
        someFunction : function ()
        {
            // how to remove `users.foo`?
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

谷歌搜索,我找到了这两种方式,但都不起作用:

  • delete this.users.foo; 没有更新DOM
  • this.users.splice('foo', 1); 根本不起作用(可能只适用于数组,而不适用于对象)

javascript vue.js vuejs2

39
推荐指数
2
解决办法
2万
查看次数

在vue.js中更改文件输入

使用纯HTML/JS,可以查看输入元素的所选文件的JavaScript File对象,如下所示:

<input type="file" id="input" multiple onchange="handleFiles(this.files)">
Run Code Online (Sandbox Code Playgroud)

但是,当将其转换为'Vue'方式时,它似乎不会按预期工作,只返回undefined而不是返回File对象数组.

这是它在我的Vue模板中的样子:

<input type="file" id="file" class="custom-file-input" 
  v-on:change="previewFiles(this.files)" multiple>
Run Code Online (Sandbox Code Playgroud)

previewFiles函数就是(位于方法)的情况如下:

  methods: {
    previewFiles: function(files) {
      console.log(files)
    }
  }
Run Code Online (Sandbox Code Playgroud)

这样做有替代/正确的方法吗?谢谢

javascript vue.js vue-component vuejs2

38
推荐指数
4
解决办法
4万
查看次数

如何在Vue-router中使用Vuetify选项卡

我有以下jsfiddle有两个Vuetify选项卡.该文档未显示vue-router与它们一起使用的示例.

我发现了这个关于如何使用Vuetify的Medium.com帖子vue-router,其中包含以下代码:

<div id="app">
  <v-tabs grow light>
    <v-tabs-bar>
      <v-tabs-item href="/" router>
        <v-icon>motorcycle</v-icon>
      </v-tabs-item>
      <v-tabs-item href="/dog" router>
        <v-icon>pets</v-icon>
      </v-tabs-item>
    </v-tabs-bar>
  </v-tabs>

  <router-view />
</div>
Run Code Online (Sandbox Code Playgroud)

但是,代码现在已过时,因为Vuetify 1.0.13 Tabs文档router在其api中指定prop,因此帖子中的嵌入示例不起作用.

我还发现这个StackOverflow答案有以下代码:

<v-tabs-item :to="{path:'/path/to/somewhere'}">
Run Code Online (Sandbox Code Playgroud)

但是,使用to道具不起作用,它也没有在Vuetify api中列出.相比之下,v-buttonVuetify组件确实列出了一个to道具和利用vue-router,所以我希望vue-router支持的组件支持to道具.

旧的Vuetify 0.17文档中挖掘,to道具是指定的v-tabs-item.看来支持可能已在1.0.13中删除.

我如何使用vue-routerVuetify标签?

javascript vue.js vuejs2 vuetify.js

38
推荐指数
3
解决办法
2万
查看次数

单击div中的按钮时防止单击父级

<div>单击div内的按钮是否可以防止元素上的功能运行?

单击按钮元素时,功能:toggleSystemDetails不应该被触发?这可能在Vue吗?

<div v-on:click="toggleSystemDetails($event, system.id);" class="grid-tile__list-item" v-for="(system, index) in organization.systems" :key="system.id" :class="{'in-viewport fully-in-viewport': system.inview, 'is-xsmall': system.layout === 'xsmall', 'is-small': system.layout === 'small', 'is-medium': system.layout === 'medium', 'is-large': system.layout === 'large'}">
      <div class="grid-tile__list-item--overlay">
        <button v-on:click="toggleTileOptionsMode($event, system.id, system.name, system.layout)">
          Layout Settings
        </button>
      </div>
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs2

37
推荐指数
5
解决办法
3万
查看次数

在Vue.js中对数组进行排序

在v-for循环中显示之前,如何按名称或性别对数组进行排序? https://jsfiddle.net/rg50h7hx/

<div id="string">
  <ul>
    <li v-for="array in arrays">{{ array.name }}</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)
// Vue.js v. 2.1.8
var string = new Vue({
  el: '#string',
  data: {
    arrays: [
      { name: 'kano',    sex: 'man' },
      { name: 'striker', sex: 'man' },
      { name: 'sonya',   sex: 'woman' },
      { name: 'sindell', sex: 'woman' },
      { name: 'subzero', sex: 'man' }
    ]
  }
})
Run Code Online (Sandbox Code Playgroud)

我必须使用"计算机",或其他什么?

vuejs2

36
推荐指数
4
解决办法
5万
查看次数

如何限制`v-for`中元素的迭代

我正在构建一个小应用程序,Vuejs 2.0我有大约15个迭代元素,我想限制v-for只有5个元素,并且可以有更多的按钮来显示整个列表.有可能吗?

vue.js vuejs2

36
推荐指数
3
解决办法
4万
查看次数