angular.js - 關於angularjs中自訂filter的問題
大家讲道理
大家讲道理 2017-05-15 16:58:57
0
2
536

剛剛在看angularjs的todoMVC項目,發現它在控制器中自訂了一個過濾器

$scope.$watch('TC.location.path()',function (path) {
            TC.Filters = {'/active':{completed: false},'/completed':{completed:true}}[path];
        });

之後在視圖中

<li ng-repeat="todo in TC.todos | filter:TC.Filters track by $index" ng-class="{completed: todo.completed, editing: todo === TC.editedTodo}">

我的問題主要是第一段程式碼這種寫法不了解

function (path) {
            TC.Filters = {'/active':{completed: false},'/completed':{completed:true}}[path];
        }

這個方法中傳入path後根據path選擇不同的過濾器。

我想問有沒有文件是介紹這種在過濾器物件內選擇的寫法的。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
伊谢尔伦

雖然樓上已經給了原因,但是估計你也不太明白,給你個文檔,看看什麼是$watch吧,文檔在這裡。

阿神
$scope.$watch('TC.location.path()',function (path) {
    TC.Filters = {'/active':{completed: false},'/completed':{completed:true}}[path];
});

這裡監聽了路徑的變化,當路徑變化了filter的參數也隨之變化了。其實就是completed和active資料的切換

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板