0

私はこの質問を何度もしましたが、あまり助けはありませんでした。そこで、スコープ内の値を、あなたが入っていないビューのコントローラーに変更することが可能かどうかを尋ねています。ビューについて言及しているときは、異なる HTML ページを意味します。

私はview1.htmlであるビュー1にいるとしましょう。ビューには、ボタン 1 とボタン 2 の 2 つのボタンがあります。ボタン 1 をクリックすると、新しいビューが表示されます。{{test}} などの太字のテキスト フィールドを含む view2.html 。button1 をクリックすると、$scope.test が「button1」になります。同様に、ボタン 2 をクリックすると同じビュー (view2.html) が開きますが、今回はスコープを「button1」ではなく「button2」にします。

これが必要な理由は、多くの html ページを作成しないようにするためです。たとえば、最初のページ (view1.html) に 10 個のボタンがある場合、クリックするボタンごとに異なる値を持つために 10 個の html ページを作成したくありません。クリックしたボタンに応じて異なる値を表示できる 1 つの html ページが必要です。Appgyver Supersonic (Steroids) を使用して、これをアプリとして開発しています。

さまざまな太字タグを表示および非表示にしようとしましたが、できません。ご想像のとおり、私はAngularの初心者ですが、いくら試しても実際に機能している簡単な答えを受け取ることはありません. 2 つの html ページと 1 つの js を作成する簡単な例を教えてください。ファイル、および最初の html ページから 2 番目のページに移動し、最初のビューでの選択に応じて異なる値を表示する方法。ありがとう!以下は私が達成したいコードの例ですが、この例では、ボタンをクリックしてもスコープは更新されず、同じままです。

サンプルコード

view1.html

<div ng-controller="IndexController">
<button class="button button-block button-assertive" ng-click="button1()" value="checkitems" >
  Button1
</button>
<button class="button button-block button-assertive" ng-click="button2()" value="checkitems" >
  Button2
</button>
</div>

Indexcontroller.js

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

$scope.test = 'test';

 $scope.button1= function(){   

     $scope.test= 'button1';

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

 $scope.button2= function(){   

     $scope.test= 'button2';

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

View2.html

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

2 に答える 2

0

サービスもご利用いただけます。

サービスはグローバル変数を提供します。そのため、サービスをさまざまなコントローラーに注入できます。

于 2015-09-09T14:18:04.120 に答える