我有这个Vuex模块:
//modules/things.js
const state = {
firstThing: 'abc',
secondThing: 'def',
};
const getters = {
getFirstThing: state => state.firstThing,
getSecondThing: state => state.secondThing,
};
const mutations = {
setFirstThing: (state, payload) => state.firstThing = payload,
setSecondThing: (state, payload) => state.secondThing = payload
};
const actions = {};
export default {
namespaced: true, // <------
state,
mutations,
actions,
getters
};
Run Code Online (Sandbox Code Playgroud)
我使用namespaced: true flag,可以像这样使用这个模块:
this.$store.state.things.firstThing // <-- return abc here
this.$store.commit('things/setFirstThing', 10)
this.$store.getters['things/getFirstThing'] // <-- return abc here
Run Code Online (Sandbox Code Playgroud)
如果我将使用像Vuex 官方示例中的 …
我有数据,在VueJS-application init之前加载到页面一次,并且这些数据不会一直改变,而html-page不会重新加载(经典的CGI应用程序,而不是SPA).数据示例:
const nonReactiveObjectWithSomeNestedData = {
a: 'a',
b: {
bb: 'bb',
cc: { ccc: 'ccc' },
dd: ['dd1', 'dd2']
}
}
Run Code Online (Sandbox Code Playgroud)
我在几个vue组件中使用这些数据.将这些数据存储在Vuex命名空间模块中并使用Vuex-getters为不同的vue组件包装相同的功能会很方便.有没有办法存储这些数据不在vuex内state(不需要反应)但能否从vuex-module的getter访问?
PS.目前我正在使用在vue-instance方法中存储非反应性数据,但现在还不够,我需要更多的全局数据访问(来自两个独立的根组件).
我有这个 html 元素:
<a href="javascript:">Link text</a>
Run Code Online (Sandbox Code Playgroud)
我想按条件动态添加data-tooltip和属性:title
<a href="javascript:" data-toggle="tooltip" title="Some tooltip text">Link text</a>
Run Code Online (Sandbox Code Playgroud)
VueJS中有没有办法同时添加多个动态属性:
<!-- instead of this: -->
<a href="javascript:" :data-toggle="computedPropTooltipToggle" :title="computedPropTooltipTitle">Link text</a>
<!-- something like this: -->
<a href="javascript:" ...tooltipAttributes >Link text</a>
Run Code Online (Sandbox Code Playgroud)