2016-07-13 2 views
0

Предоставляет ли Angularjs любой метод, который может пересекать DOM для текста после возвращения нового представления? filter, похоже, почти выполнил это, но я не хочу возвращать новый массив элементов. Например;

HTML

<div ng-view=""> 
    <ul> 
     <li>Milk</li> 
     <li>Eggs</li> 
     <li>Cheese</li> 
    </ul> 
</div> 

JS

$(document).ready(function() { 
    var app = angular.module('app', ['ngRoute']) 
     .config(['$routeProvider', function($routeProvider){ 
     $routeProvider 
     .when('/', { templateUrl: 'example.html' }) 
    }]); 
    app.controller('rttController', function($scope, $location) { 
     $scope.$on('$locationChangeSuccess', function(event) { 
     // Search through the DOM for text returned in this view 
    }); 
}); 

Моя конечная цель иметь массив предопределенных ключевых слов, которые я бы ищут в DOM:

var foods[] = {"yogurt", "butter", "margarine"}.

Любые идеи?

+0

'массив ключевых слов' вы можете привести пример для этого –

ответ

0

Нет, он не предусматривает эту функцию. Невозможно загрузить переменные в массив и пройти через это. Используя ng-repeat, вы можете отобразить их на странице в своем списке.

Вы ограничены наличием этих элементов в HTML или сможете ли вы загрузить их в массив и отобразить их?

Возможно, вы могли бы изучить дочерние области и иметь контроллер в HTML-файле, который вы используете для управления списком?

+0

Спасибо @ SM3RKY, я, к сожалению, привязан к тому, что отображается в HTML. В принципе, любое из ключевых слов, которые существуют на странице, будет выделено после того, как Angular вернет новый динамический вид. Я посмотрю на наличие дочернего контроллера во втором файле и посмотрю, что я могу придумать. –