1 回答

TA貢獻1815條經(jīng)驗 獲得超13個贊
首先來進行一個最基本的定義,由于我們需要數(shù)據(jù)綁定功能,我們將從一開始就require ngModel:
.directive('timePicker',function(){ var today = new Date(new Date().toString()); return { require: '?ngModel', link: function($scope,$element,$attrs,ngModel){ } }});
注意到我們需要涉及元素的實際實例,因此我們所有的代碼基本上都位于linking函數(shù)中,我們在此完全不需要擔心編譯過程。我們同事也實例化了一個today變量來保存一個Date對象,以此在午夜十分更新。創(chuàng)建這個變量作為factory函數(shù)的一部分允許我們在多個實例之間分享一個today變量。注意,盡管這允許我們將內(nèi)存的使用最小化,它也意味著如果我們的應(yīng)用在半夜還依然再運行,我們的指令會開始提供不準確的結(jié)果。如果你打算將這個指令用于一個實時應(yīng)用中,你最好創(chuàng)建另一個函數(shù)在第二天來臨時更新這個值?,F(xiàn)在,我們急需要看我們的controller函數(shù):
link: function($scope.$element,$attrs,ngModel){ ngModel = ngModel || { "$setViewValue" : angular.noop }}
你以前可能也注意過這種模式。
- 1 回答
- 0 關(guān)注
- 145 瀏覽
添加回答
舉報