Maison > Questions et réponses > le corps du texte
Je regardais juste le projet todoMVC d'angularjs et j'ai découvert qu'il personnalisait un filtre dans le contrôleur
$scope.$watch('TC.location.path()',function (path) {
TC.Filters = {'/active':{completed: false},'/completed':{completed:true}}[path];
});
Après en vue
<li ng-repeat="todo in TC.todos | filter:TC.Filters track by $index" ng-class="{completed: todo.completed, editing: todo === TC.editedTodo}">
Mon problème est principalement que je ne comprends pas la façon dont est écrit le premier morceau de code
function (path) {
TC.Filters = {'/active':{completed: false},'/completed':{completed:true}}[path];
}
Dans cette méthode, après avoir passé le chemin, différents filtres sont sélectionnés en fonction du chemin.
伊谢尔伦2017-05-15 17:00:57
Bien que la raison ait été donnée ci-dessus, je suppose que vous ne la comprenez pas très bien. Laissez-moi vous donner un document pour voir ce qu'est $watch
Le document est ici.
阿神2017-05-15 17:00:57
$scope.$watch('TC.location.path()',function (path) {
TC.Filters = {'/active':{completed: false},'/completed':{completed:true}}[path];
});
Ici, les changements dans le chemin sont surveillés. Lorsque le chemin change, les paramètres du filtre changent également. En fait, c'est le basculement entre les données complétées et actives