Rumah  >  Soal Jawab  >  teks badan

angular.js - 关于angularjs中自定义filter的问题

刚刚在看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选择不同的过滤器。

我想问问有没有文档是介绍这种在过滤器对象内选择的写法的。

大家讲道理大家讲道理2685 hari yang lalu471

membalas semua(2)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-05-15 17:00:57

    Walaupun alasannya telah diberikan di atas, saya rasa anda tidak begitu memahaminya. Izinkan saya memberikan anda dokumen untuk melihat apakah $watch dokumen itu.

    balas
    0
  • 阿神

    阿神2017-05-15 17:00:57

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

    Di sini, perubahan dalam laluan dipantau Apabila laluan berubah, parameter penapis juga berubah. Malah, ia adalah pertukaran antara data yang lengkap dan aktif

    balas
    0
  • Batalbalas