中央大學

學院、系所、學位、年級 Vue components

# 基本設定


  import Vue from 'vue'
  import components from 'vue-ncu-unit'

  new Vue({
    el: '#app',
    components: {
      college: components.College,
      degree: components.Degree,
      department: components.Department,
      grade: components.Grade,
      trans: components.Trans
    }
    // or in es2015...
    components
  })
          

# 學院


<college defaults="工學院"></college>
          

# 系所


  <department defaults="32060"
              :filtering="{
                              college: '工學院',
                              degree: '碩士班'
                          }"></department>
            

# 學級


<degree defaults="碩士班"></degree>
          

# 年級

年級若單獨存在,則預設為學士班的修業上限。


<degree defaults="碩士班" id="demo-degree"></degree>
<grade degree="碩士班"
          defaults="3"
          listen-to-degree="demo-degree"></grade>
            
          

# 事件

demoCallback:


import { bus, events } from '../'

let event = events.changeDegree.withID('demo-degree')
// event = 'changeDegree:demo-degree'

bus.$on(event, function (data) {
  document.getElementById('demoCallback').textContent = data.degree.id
})
          

# 參數篩選系所

排除 except 僅剩 only

若ID同時出現在exceptonly,則先作except再作only


<department defaults="32060"
           :filtering="{
              college: '工學院',
              degree: '碩士班'
            }"
           :except="[32010, 32020, 32030, 32040]"></department>

<department defaults="32060"
            :filtering="{
              college: '工學院',
              degree: '碩士班'
            }"
            :only="[32060, 32080, 32090]">
            

# 連動篩選系所


<degree id="demo-degree"></degree>
<college id="demo-college"></college>
<department listen-to-degree="demo-degree"
            listen-to-college="demo-college"</department>
          

# 樣式


.ncu-unit {
    font-weight: 700;
}

.ncu-unit--degree {
  background-color: lightskyblue;
  color: dimgrey;
}

.ncu-unit--college {
    background-color: red;
    color: white;
}

.ncu-unit--department {
    background-color: yellow;
    color: brown;
}

.ncu-unit--grade {
    background-color: limegreen;
    color: purple;       
}
          

# 英語


<degree defaults="博士班" locale="en"></degree>
<college defaults="工學院" locale="en"></college>
<department locale="en"
            defaults="34060"
            :filtering="{
                            college: '工學院',
                            degree: '博士班'
                          }"
            </department>
<grade degree="博士班" defaults="3" locale="en"</grade>
          

# id轉文字


<trans type="degree" trans-id="博士班"></trans>
<trans type="degree" trans-id="博士班" locale="en"></trans>
<trans type="college" trans-id="工學院"></trans>
<trans type="college" trans-id="工學院" locale="en"></trans>
<trans type="department" trans-id="34060"></trans>
<trans type="department" trans-id="34060" locale="en"></trans>
              

Components props與預設值

# 學位

degree.vue
props 預設值 說明
defaults 學士班 第一筆資料
id ncu-unit--degree
class ncu-unitncu-unit--degree
name degree

# 學院

college.vue
props 預設值 說明
defaults 中心、處室 第一筆資料
id ncu-unit--college
class ncu-unitncu-unit--college
name college

# 系所

department.vue
props 預設值 說明
defaults 202 第一筆資料
id ncu-unit--department
class ncu-unitncu-unit--department
name department
filtering { college: // 第一筆 college 的 id,
degree: // 第一筆 grade 的 id }
篩選條件:
college為學院資料的id
degree為學位資料的id
except [] 欲排除的系所 id 陣列
only [] 欲剩下的系所 id 陣列
listenToCollege ncu-unit--college 欲連動篩選的 college.vue id
listenToDegree ncu-unit--degree 欲連動篩選的 degree.vue id

# 年級

grade.vue
props 預設值 說明
defaults 1
id ncu-unit--grade
class ncu-unitncu-unit--grade
name grade
degree 第一筆 degree 的 id 學位
listenToDegree ncu-unit--degree 欲篩選的 degree.vue id

# 轉譯

trans.vue
props 預設值 說明
id ncu-unit--trans
class ncu-unitncu-unit--trans
type N/A 欲轉譯的類型需為
degree
college
department
其中之一
必填
transId N/A 欲轉譯的ID
如果要設定其他 attribute ,只需要按平常方式即可,例如<degree size="10" required></degree>
來源:vue-ncu-unit