javascript
Dynamics 365(online) V9.0 new features for developers(二:JavaScript Web 资源依赖性)
? ? 本篇是9.0版本針對開發者新變化系列的第二篇,JavaScript Web 資源依賴性,初看標題可能看不出所以然來,看下web資源的界面,會看到多了一個依賴項。
其中又分為兩部分,一是web資源的依賴關系,一個是實體屬性的依賴性
? ? 根據官方文檔的原話,當web資源被加載時,它的依賴項同時會被加載,看到這句我想到的第一個應用場景也是之前項目實施過程中的一個痛點,在實體的列表頁面加按鈕,按鈕的事件綁定只能對應單個javascript文件而無法綁定加載多個,設置如下圖
? ? ?但當我示例中的new_demo.js文件中的function想要引用了其他js文件中的function時是就無法做到的。現在有了web資源的依賴項就好實現了,只需要將需要引用的js文件添加到依賴項中即可。
? ? 列表上的按鈕調用new_demo.js中的TestDepend方法,而TestDepend方法中再去調用new_denpendcy中的ShowDenpendcy方法,ShowDenpendcy方法體很簡單,就一句alert測試下效果
?
function TestDenpend() {ShowDenpendcy(); } function ShowDenpendcy() {alert('ShowDenpendcy'); }最后來看下效果,點擊按鈕能正確的執行依賴項js文件中的ShowDenpendcy方法。
這是我首先想到的應用場景,當然場景還有很多,待后續項目中發現,而且我的示例是講到了js,當然也可以添加其他類型的依賴不限于js。
? ? 講完了web資源的依賴,再來看看實體屬性的依賴,此處我們使用客戶中的傳真字段來做示例
下面是兩張對比圖,一張頁面有傳真字段,一張頁面沒有傳真字段
? ? 如果頁面上有這個字段那取值自然沒問題,那如果沒有呢,只要設置了屬性的依賴,一樣可以取到值和設置值,但是如果你要getControl去獲取字段控件,那肯定是null了,因為表單頁面上沒有這個控件
? ? 這種用法就避免了即想給字段取值或者賦值,又不想要字段存在于頁面上(之前的做法是設置字段的隱藏)。
? ? 除了設置當前實體,還可以選擇其他,比如這的contact的mobilephone,我第一想到的是這樣是不是可以取lookup關聯字段中的屬性字段值了呢?而不是去寫js查詢了,結果證實我的猜測是錯誤的(從另一個角度說如果一個實體存在兩個關聯字段也就推倒了這種猜測)。后續再探索下設置了其他實體的屬性字段后怎么用吧。
?
總結
以上是生活随笔為你收集整理的Dynamics 365(online) V9.0 new features for developers(二:JavaScript Web 资源依赖性)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IntelliJ IDEA配置JDK
- 下一篇: Bmob小程序模板消息