2015-01-25 2 views
0

Хорошо, я много раз боролся с этой штукой в ​​течение нескольких дней, и я застрял. Вот что я хочу; Я хочу изменить значение моей области в другом представлении, нажав на кнопку. Поэтому, если я вхожу в представление index.html и нажимаю кнопку, я хочу изменить значение области в представлении index2.html, а затем отобразить это представление. Вот пример моего кода, который не работаетИзмените значение области в другом виде

index.html

<div ng-controller="IndexController"> 
<button class="button button-block button-assertive" ng-click="checkValues()" value="checkitems" > 
    check values 
</button> 
</div> 

IndexController.js

angular 
    .module('legeApp') 
    .controller('IndexController', function($scope, supersonic, $filter) { 

$scope.checkValues = function(){ 

    $scope.Diagnose = 'test'; 

     var view = new supersonic.ui.View("legeApp#index2.html"); 
     var customAnimation = supersonic.ui.animate("flipHorizontalFromLeft"); 
     supersonic.ui.layers.push(view, { animation: customAnimation }); 
    }; 
}); 

index2.html

<div ng-controller="IndexController"> 
<div class="card"> 
    <div class="item item-text-wrap"> 
    Test<b>{{Diagnose}} </b> 
    </div> 
</div> 
    </div> 

я могу дать значение вне метода checkValues, но я хочу, чтобы это было два разных значения в зависимости от кнопки, которую вы нажимаете. Пожалуйста, помогите

Я попробовал предложенный код, но получил ошибку. Что я делаю не так?

Я пробую код ниже и получаю эту ошибку "SyntaxError: Unexpected token ':' - undefined: undefined". Я также не совсем понял, как и почему я хочу настроить новое значение с помощью supersonic.ui.views.params.current в новом представлении. Я хочу получить новое значение в новом представлении, а не в контроллере? Мне нужны два разных контроллера? Я просто хочу обновить свои значения в виде html, не будучи в нем.

supersonic.ui.layers.push: 
(view: view, 
options: { params: {$scope.Diagnose : 'test'} 
animation: customAnimation 
}) => Promise 
+0

потребуется услуга для этого. Каждый экземпляр контроллера работает независимо от других экземпляров. – charlietfl

ответ

1

Согласно сверхзвуковой толчке docs, атрибут params предназначен для передачи параметров между видами:

JSON string of optional parameters to be passed to the target View, 
accessible via supersonic.ui.views.params.current. 

Попробуйте позвонить

supersonic.ui.layers.push: (
    view: view, 
    options: { 
    params: {valueToBeSentAccrossView: <Your Value>} 
    animation: customAnimation 
}) => Promise 

, а затем получение значения в целевой точке зрения используя supersonic.ui.views.params.current.

+0

Спасибо, но я не могу заставить его работать. Я пробую код ниже и получаю эту ошибку. \t «Синтаксис: ошибка: неопределенный токен»: «undefined: undefined». Я также не совсем понял, как и почему я хочу настроить новое значение с помощью supersonic.ui.views.params.current в новом представлении. Я хочу получить новое значение в новом представлении, а не в контроллере? Мне нужны два разных контроллера? Я просто хочу обновить свои значения в виде html, не будучи в нем. \t supersonic.ui.layers.push: ( \t \t вид: вид, \t \t варианты: { \t \t Титулы: {$ scope.Diagnose: 'тест'} \t \t анимация: customAnimation \t \t}) = > Promise –

+0

Я обновляю сообщение комментарием, поэтому его легче увидеть. –