1

Я делаю ng-repeat из списка, которые выглядят так:Как установить привязку в ui-sref?

<div ng-repeat="x in myCtrl.data" ui-sref="app.detail({id: x.id})"> 
    <img ng-src="{{::x.image}}"> 
    <h2>{{::x.name | characters:35}}</h2> 
</div> 

Когда я следить за наблюдателем, я обнаружил, что наблюдающий увеличивается, когда список становится длиннее. Если я удалю {id: x.id} из ui-sref, независимо от того, как долго этот список, количество наблюдателей всегда остается неизменным.

Итак, мой вопрос: как я могу сделать одно привязку в ui-sref?

+0

Что вы имеете в виду ** как я могу сделать одного связывания в 'Ui-sref '**? –

+0

@PankajParkar Если в 'ui-sref' есть' {id: x.id} ', наблюдатель увеличивается по мере увеличения списка. Это похоже на '{{x.image}}' будет увеличиваться, но если '{{:: x.image}}' не увеличивается в наблюдателе. Вот что я имею в виду под «единственной привязкой». Итак, как я могу избежать этого с помощью 'ui-sref'? – user1995781

+0

Можете ли вы посмотреть на то, как я предложил ..? –

ответ

1

Да, если вы посмотрите на API вы узнаете, что это добавляет Watcher из this line & вы не можете избежать этого.

Вы могли бы избавиться от этого наблюдателя пути сделать перенаправление на государственные вещи по своему усмотрению, как вы могли бы ng-click="redirect('app.detail', {id: x.id})" события там вместо того, чтобы ui-sref директивы, и от redirect метода вы могли бы перенаправить в состояние с помощью $state.go.

Код

$scope.redirect = function(stateName, param){ 
    $state.go(stateName, param) 
} 
+1

Спасибо за ваш ответ. Я обнаружил, что это можно сделать довольно легко. Это 'ui-sref =" app.detail ({id: {{:: x.id}}}). – user1995781

+0

@ user1995781 Вы уверены, что не создаете наблюдателя? Я сомневаюсь в этом. –

+0

Да, я наблюдаю за наблюдателем в Chrome, используя плагин Angular watchers. Оттуда я вижу, что если я делаю так, количество наблюдателей всегда остается неизменным, даже когда список становится длиннее. – user1995781

1
ui-sref="app.detail(::{id: x.id}) 

не перенаправляет ничего, одна строка кода один раз связывания

 Смежные вопросы

  • Нет связанных вопросов^_^