Остановите отражающую модель друг друга, если тот же контроллер дважды используется на странице

Я использовал частичный контроль mvc на своей странице дважды для функции поиска. У него есть собственный контроллер для поиска, поэтому на моей странице есть два контроллера с тем же именем.

<div ng-app="app" ng-controller="MainController" ng-init="SetSearchParam()">
 <div id="search1">
 @Html.Partial("_SearchPartial") // say it search1
 // some other code to show search results
 // .... 
 // ..
 </div>
 <div id="search2">
 @Html.Partial("_SearchPartial") // say it search2
 // some other code to show search results
 // .... 
 // ..
 </div>
</div>

Это _SearchPartial:

<form name="SearchCommon">
 <div ng-model="search" ng-controller="SearchPartialController">
 <div>
 
 </div>
 <div>
 
 </div>
 <div>
 
 </div>
 <div>
 
 </div>
 </div>
</form>

Теперь, когда init MainController, я устанавливаю значение модели search в методе SetSearchParam(), как показано ниже:

$scope.SetSearchParam = function(){
 var s = {};
 s.Make = "Test";
 s.Year = "2012";
 s.Stock = "5"
 $scope.search = s; 
};

В качестве search используется модель search, а страница имеет два элемента управления поиском, значение параметра s будет установлено как в частичном контроллере. Также, когда я изменяю параметры в search1, он будет отображать search2.

Я хочу, чтобы эти параметры поиска были установлены только для search1, а не для search2. Когда я изменяю параметры поиска1, он не должен отражать поиск2 или наоборот.

Есть ли способ достичь этого?

1 ответ

Мне нужно инициализировать фильтр (поиск) перед вашей функцией.

Контроллер:

$scope.search1 = { Make : "Test", Year: "2012", Stock : "5" };
$scope.searchdata = function(search){console.log(search);};

Ваше мнение:

<form ng-submit="searchdata(search1)">
 
 
 
 <button type="submit">
 Save
 </button>
 </form>

licensed under cc by-sa 3.0 with attribution.