2021年10月20日 星期三

js 使用class時 引入, 以及全域變數問題 (Uncaught SyntaxError: Cannot use import statement outside a module)


當我們使用class的時候

可能如下









這種時候引入有兩方面

一面

引入的js地方要加上

import CheckFormatForDate from '../common/CheckFormatForDate.js';

另外該js在被引入html的時候, 要宣告type = "module"

如下



如果沒有宣告type="module"則會報 

Uncaught SyntaxError: Cannot use import statement outside a module


另外~當宣告成module, 該檔案中的變數就會和其他檔案的變數隔離

如果要做全域變數, 讓所有引入的module都能夠使用

可以用

window.aaa="aaa"; //宣告

var aaa = window.aaa; //取值

也可以用session

我自己想到另外的方式, 就是把它塞在畫面上隱藏的input中

也是可以解決變數被隔離但是你想做到全域變數的效果


回歸原本 如果不用class 直接引入js也是有全域變數的效果

2021年10月19日 星期二

save Vo 時 關聯被刪掉

簡單的說

因為雙向關聯的關係, 我們有可能會另外造一個Vo去接畫面上修改的內容

比方說, 角色, 更改名字的時候

但是這時候因為Vo中並沒有把關連帶進去

以至於我們直接拿Vo去new一個物件塞起來存, 他原本的關聯就會被儲存為沒關聯


因此, 若是在修改的動作下, 前面Vo丟進來的時候, 應該要先Get到該物件的entity

然後再把其中的屬性值Copy過去才對

原本有問題的寫法





改成



[leetcode] [KMP] KMP

ABCDABD... ABCDABF... 簡單的說, 傳統解兩字串匹配部分 可能會來個雙迴圈, 哀個比對, 當不匹配的時候, 會將下方列再後移1位 然後不匹配再後移 然而 如果像上放已經有4個屬於匹配的字串, 她就應該直接往後移四位來匹配, 而不是只移動1位 隱藏的思維是, 當...