<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-cn">
		<id>http://wiki.tomtalk.net/index.php?feed=atom&amp;namespace=0&amp;title=%E7%89%B9%E6%AE%8A%3A%E6%96%B0%E5%BB%BA%E9%A1%B5%E9%9D%A2</id>
		<title>tomtalk - 新页面 [zh-cn]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.tomtalk.net/index.php?feed=atom&amp;namespace=0&amp;title=%E7%89%B9%E6%AE%8A%3A%E6%96%B0%E5%BB%BA%E9%A1%B5%E9%9D%A2"/>
		<link rel="alternate" type="text/html" href="http://wiki.tomtalk.net/index.php?title=%E7%89%B9%E6%AE%8A:%E6%96%B0%E5%BB%BA%E9%A1%B5%E9%9D%A2"/>
		<updated>2026-04-24T10:04:53Z</updated>
		<subtitle>来自tomtalk</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>http://wiki.tomtalk.net/index.php?title=Vue</id>
		<title>Vue</title>
		<link rel="alternate" type="text/html" href="http://wiki.tomtalk.net/index.php?title=Vue"/>
				<updated>2019-12-04T09:30:39Z</updated>
		
		<summary type="html">&lt;p&gt;Tom：/* ESLint配置 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==proxyTable配置==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
proxyTable: {&lt;br /&gt;
  &amp;quot;/v1/products&amp;quot;: {&lt;br /&gt;
    target: apiUrl,&lt;br /&gt;
    changeOrigin: true,&lt;br /&gt;
    pathRewrite: {&lt;br /&gt;
      &amp;quot;^/v1/products&amp;quot;: &amp;quot;/v1/products&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    onProxyRes: function onProxyRes(proxyRes, req, res) {&lt;br /&gt;
      proxyRes.headers['connection'] = 'keep-alive'; // add new header to response&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://github.com/chimurai/http-proxy-middleware&lt;br /&gt;
&lt;br /&gt;
==vscode配置==&lt;br /&gt;
&lt;br /&gt;
插件&lt;br /&gt;
&lt;br /&gt;
* Vetur&lt;br /&gt;
* Prettier&lt;br /&gt;
* ESLint&lt;br /&gt;
* Vim&lt;br /&gt;
&lt;br /&gt;
settings.json配置文件&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;editor.renderIndentGuides&amp;quot;: false,&lt;br /&gt;
    &amp;quot;editor.wordWrapColumn&amp;quot;: 150,&lt;br /&gt;
    &amp;quot;editor.tabSize&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;editor.formatOnSave&amp;quot;: true, //每次保存自动格式化&lt;br /&gt;
    &amp;quot;editor.rulers&amp;quot;: [&lt;br /&gt;
        150&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;html.format.wrapLineLength&amp;quot;: 150,&lt;br /&gt;
    &amp;quot;prettier.singleQuote&amp;quot;: true, //使用带引号替代双引号&lt;br /&gt;
    &amp;quot;vetur.format.defaultFormatter.html&amp;quot;: &amp;quot;js-beautify-html&amp;quot;, //格式化.vue中html&lt;br /&gt;
    &amp;quot;vetur.format.defaultFormatter.js&amp;quot;: &amp;quot;vscode-typescript&amp;quot;, //让vue中的js按编辑器自带的ts格式进行格式化&lt;br /&gt;
    &amp;quot;vetur.format.defaultFormatterOptions&amp;quot;: {&lt;br /&gt;
        &amp;quot;js-beautify-html&amp;quot;: {&lt;br /&gt;
            &amp;quot;wrap_line_length&amp;quot;: 150,&lt;br /&gt;
            &amp;quot;wrap_attributes&amp;quot;: &amp;quot;auto&amp;quot;,&lt;br /&gt;
            &amp;quot;end_with_newline&amp;quot;: false&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;[javascript]&amp;quot;: {&lt;br /&gt;
        &amp;quot;editor.defaultFormatter&amp;quot;: &amp;quot;esbenp.prettier-vscode&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;[vue]&amp;quot;: {&lt;br /&gt;
        &amp;quot;editor.defaultFormatter&amp;quot;: &amp;quot;octref.vetur&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;eslint.autoFixOnSave&amp;quot;: true, // 每次保存的时候将代码按eslint格式进行修复&lt;br /&gt;
    &amp;quot;eslint.validate&amp;quot;: [ //开启对.vue文件中错误的检查&lt;br /&gt;
        &amp;quot;javascript&amp;quot;,&lt;br /&gt;
        &amp;quot;javascriptreact&amp;quot;,&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;language&amp;quot;: &amp;quot;html&amp;quot;,&lt;br /&gt;
            &amp;quot;autoFix&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;language&amp;quot;: &amp;quot;vue&amp;quot;,&lt;br /&gt;
            &amp;quot;autoFix&amp;quot;: true&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ESLint、JSHint配置==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;eslint.options&amp;quot;: {&lt;br /&gt;
    &amp;quot;rules&amp;quot;: {&lt;br /&gt;
        &amp;quot;semi&amp;quot;: [0],&lt;br /&gt;
        &amp;quot;quotes&amp;quot;: [0, &amp;quot;double&amp;quot;],&lt;br /&gt;
        &amp;quot;space-before-function-paren&amp;quot;: [0, &amp;quot;always&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;jshint.options&amp;quot;: {&lt;br /&gt;
    &amp;quot;esversion&amp;quot;: 6&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vue页面结构==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;page&amp;quot;&amp;gt;something&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
import sc from &amp;quot;@/mixins/index&amp;quot;;&lt;br /&gt;
import Country from &amp;quot;@/components/Country.vue&amp;quot;;&lt;br /&gt;
import { mapState, mapMutations } from &amp;quot;vuex&amp;quot;;&lt;br /&gt;
import code from &amp;quot;@/utils/code&amp;quot;;&lt;br /&gt;
import { uploadSingleFile } from &amp;quot;@/api&amp;quot;;&lt;br /&gt;
import { checkResidentNumberIsExistForProduct } from &amp;quot;@/api&amp;quot;;&lt;br /&gt;
import utils from &amp;quot;@tplhk-ui/utils&amp;quot;;&lt;br /&gt;
export default {&lt;br /&gt;
    name: &amp;quot;Application&amp;quot;,&lt;br /&gt;
    mixins: [sc],&lt;br /&gt;
    components: { Country },&lt;br /&gt;
    data() {&lt;br /&gt;
        return {&lt;br /&gt;
            payment: this.$t(&amp;quot;payment&amp;quot;),&lt;br /&gt;
            rules: {&lt;br /&gt;
                englishFamilyName: {&lt;br /&gt;
                    required: true,&lt;br /&gt;
                    validator: this.baseValidate.bind(this, /^[A-Za-z ]*$/),&lt;br /&gt;
                    trigger: &amp;quot;blur&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        };&lt;br /&gt;
    },&lt;br /&gt;
    computed: {&lt;br /&gt;
        ...mapState([&amp;quot;forms&amp;quot;, &amp;quot;style&amp;quot;, &amp;quot;premium&amp;quot;])&lt;br /&gt;
    },&lt;br /&gt;
    watch: {&lt;br /&gt;
        &amp;quot;forms.residentCode&amp;quot;: function(newValue) {&lt;br /&gt;
            this.residentCodeFn(newValue);&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    created() {&lt;br /&gt;
        if (this.$route.name === &amp;quot;confirm&amp;quot;) {&lt;br /&gt;
            this.disabled = true;&lt;br /&gt;
        }&lt;br /&gt;
        this.residentCodeFn(this.forms.residentCode);&lt;br /&gt;
        Options.getPolicyPlanAlipay()&lt;br /&gt;
            .then(res =&amp;gt; (this.policyPlanOpt = res))&lt;br /&gt;
            .catch(() =&amp;gt; {});&lt;br /&gt;
    },&lt;br /&gt;
    methods: {&lt;br /&gt;
        ...mapMutations([&amp;quot;set_forms&amp;quot;, &amp;quot;set_state&amp;quot;]),&lt;br /&gt;
        residentCodeFn(newValue) {&lt;br /&gt;
            let flag = newValue === &amp;quot;NPHK&amp;quot; ? true : false;&lt;br /&gt;
            this.rules.nationalityCode.required = flag;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style lang=&amp;quot;scss&amp;quot;&amp;gt;&lt;br /&gt;
.tpl-form-item-required .tpl-form-item-label:before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;           &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tom</name></author>	</entry>

	</feed>