2016-02-23 4 views
0

У меня есть три типа элементов («A», «B» и «C»), используя разные контроллеры, когда выбран элемент. Мне нужно знать, какую функцию в каком контроллере можно позвонить.Установить контроллер на основе значения

Например, предположим, что элемент с «A» выбран тип, и мы хотели бы, чтобы изменить этот пункт, поэтому мы нажимаем нашу кнопку «изменить»

<button type="button" class="btn btn-default" ng-controller="" ng-click="edit(item)" > <i class="fa fa-pencil"></i> </button> 

Но как установить правильный контроллер ('аСопЬгоНег')?

Единственный способ, которым я могу думать, используя нг-шоу и нг-шкуру, как это:

<button ng-show="item.Type == 'A'" type="button" class="btn btn-default" ng-controller="AController" ng-click="edit(item)" > <i class="fa fa-pencil"></i> </button> 

Но это даст мне три кнопки (по одному для каждого типа) для каждого варианта CRUD (I сможет создавать новые, редактировать, просматривать и удалять элементы), что составляет 12 кнопок.

Есть ли лучший способ сделать это?

+1

Существует "missusage" здесь. Почему бы не перенаправить маршрут «издание», как бы подключался к правильному контроллеру? В противном случае edit (item) откроет модальный/окно/что-нибудь еще с правильным контроллером. Первое решение кажется мне немного легче ... – Nico

ответ

-1

Если предметы (A, B и C) являются объектами. вы можете определить методы на них и вызвать их из представления, которое должно направить вас к правильному контроллеру, из которого они были созданы.

ex. В контроллере:

function AController() { 

    A = {prop1: val1, prop2: val2, ... editItem: editItem} 

    function editItem() { this == A } 

} 

Ввиду:

ng-click="item.editItem()" 
+0

Это было быстро сокращено, я хотел бы знать причину, потому что я использую его в проекте, и это будет полезно. С наилучшими пожеланиями –

+0

Я также хотел бы знать, почему это было приостановлено, попробуем все равно и посмотрим, как это работает, спасибо! – klskl

+0

Спасибо, надеюсь, что это поможет. Я обнаружил это в последнее время и использовал его в объектах в представлении как ярлык для методов контроллера и избегал много поиска индекса и прокрутки. Удачи –

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