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(三:Web 資源本地化)DeveloperWeb
- Dynamics 365(online) V9.0 new features for developers(四:自動編號)Developer
- Dynamics 365(online) V9.0 new features(五:sitemap)
- Dynamics 365(online) V9.0 new features(六:移動端支援 iFrame 和 Web 資源)Web
- Dynamics 365(online) V9.0 new features for developers(一:客戶端 API 增強功能)Developer客戶端API
- Dynamics 365(online) V9.0 new features(八:虛擬實體)
- Dynamics 365(online) V9.0 new features(四:多選選項集)
- Dynamics 365(online) V9.0 new features(三:新增兩個系統主題)
- Dynamics 365(online) V9.0 new features(二:允許在窗體欄位標籤和值中進行文字換行)
- Dynamics 365(online) V9.0 new features(七:高階查詢中相關實體的不包含查詢支援)
- Dynamics 365(online) V9.0 new features(一:表單窗體裡的自定義sub-grid表頭顏色)
- Dynamics 365(三)WEB資源使用Web
- Dynamics 365(online) V9.0 No more monolithic SDK download(所有資料均採用線上模式)Mono模式
- Professional JavaScript for Web DevelopersJavaScriptWebDeveloper
- Dynamics 365 Web API模擬使用者WebAPI
- Dynamics 365 Web API 批處理(batch requests)WebAPIBAT
- Dynamics 365 Web API Set Values of all Data Types using Web API in Dynamics CRM Through C#WebAPIC#
- Dynamics 365 Online和On-premises在開發方式上的差別REM
- Difference between Microsoft Dynamics 365 WEB API, Organization Service and Organization Data ServicROSWebAPI
- 探索 JavaScript 中的依賴管理及迴圈依賴JavaScript
- Dynamics 365 Online 利用Microsoft Flow實現自動建立Sharepoint LocationROS
- 在iOS專案中依賴Flutter Module-②遠端依賴Git資源iOSFlutterGit
- JavaScript裡的依賴注入JavaScript依賴注入
- Dynamics 365 Portal如何清除快取快取
- [譯]javascript中的依賴注入JavaScript依賴注入
- [UWP]依賴屬性1:概述
- 開源依賴項管理指南
- ABAP New Features - Internal Tables
- GNU grep's new features
- Dynamics 365 Online 匯入解決方案託管實體無法同步的問題
- Dynamics 365 Web Api 建立與更新返回記錄ID及更新後的資料記錄WebAPI
- Dynamics 365(on-premises) Portal 的安裝REM
- Dynamics 365 控制右側欄的介面
- javascript 依賴注入程式碼例項JavaScript依賴注入
- JavaScript依賴注入的實現思路JavaScript依賴注入
- JavaScript中依賴注入詳細解析JavaScript依賴注入
- [WPF]淺析依賴屬性(DependencyProperty)
- 細說 Angular 的依賴性注入Angular