在不同视图中更改范围值

时间:2015-01-25 20:43:01

标签: javascript html angularjs steroids

好的,我已经用这个东西搞了好几天了,我被卡住了。这就是我想要的;我想通过单击按钮在不同的视图中更改我的范围值。因此,如果我在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

1 个答案:

答案 0 :(得分:1)

根据超音速推送docsparams属性用于在视图之间传递参数:

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检索目标视图中的值。