最近的项目中用了VUE,里面有不少的知识点和相关需求的解决方法值得记录下,作为后面的参考,不然时间一长还是会忘掉。汇总在这里逐渐更新吧。
VUE的文档做的并不好,因为它默认隐藏的知识线索太多。普通用户看文档,基本上不知所云。很多问题没有第三方资料的解读和案例参考,都很难处理好。
但是VUE本身还是很优秀的,这点毋庸置疑,我还是很喜欢它。
一. 多语言
1、vue-i18n翻译处理html标签的属性。
默认,vue-i18n使用{{ $t(‘message’) }}这样的模式来转换语言,不过,它不适用于html标签的属性。比如这样是行不通的:
<input type='text' v-model.trim='note' class='form-control' placeholder="{{ $t('tips') }}">
解决方法是,使用v-bind + computed,用计算属性处理。
<input type='text' v-model.trim='note' class='form-control' :placeholder="inputTips">
computed: {
inputTips: function () {
return this.$t('inputTips');
}
},
或者,直接改写成methods里面的方法也是可以的,还可以传递某些情况下必要的参数。
inputTips: function (key) { const tips = key + this.$t('inputPersonalTips'); return tips; },
二、第三方组件
1、使用的第三方组件缺少需要的功能,或者有问题
可以给作者提个补丁,或者自己fork修复,发布一个。
如果上面的行动都不是可选项,还可以使用原始的DOM操作API,自己给这个组建打补丁,patch它。
从实践中看,VUE并未完全取代过去的jQuery,它们有各自适用的地方,有各自的长处。jQuery善于直接处理DOM,这正是可以修补第三方组件的一个突破口。
jQuery可以使用各种选择器,只要VUE的组件里面做好相应的标记,找到对应的DOM节点并进行一定的处理,是没有问题的。
jQuery可以直接修改HTML/CSS,一般情况下,足以满足打补丁的需要了。