1

これは現在の私の HTML です。HTML 自体からスクリプトまで、すべてが含まれています。

<!doctype html>
<html lang="en-US" ng-app>
    <!--Head-->
    <head>
        <meta charset="UTF-8">
        <title>Lesson 5 - ng-show & ng-hide</title>
        <meta name="viewport" content="width=device-width">
        <style type="text/css">
            * {
                box-sizing: border-box;
            }
            body {
                font: 16px/1.5 sans-serif;
                color: #222;
                margin: 5em;
            }
        </style>
    </head>
    <!--Body-->
    <body ng-controller="information">

        <div>
            <label for="name">
                Name:
                <input type="text" name="username" id="username" placeholder="Your name here please" ng-model="name"/>
            </label>
            <br>
            <label>
                Hide?
                <input type="checkbox" ng-model="checked"/>
            </label>
        </div>

        <div ng-hide="checked">
            Hidden Message here
            <br>
            Welcome {{ name || "user" }}!
        </div>


        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
        <script type="text/javascript">
            var information = function ($scope) {
                console.log($scope);
            }
        </script>
    </body>
</html>

ご覧のとおり、これは AngularJS を使用した単純な HTML ページです。と呼ばれるコントローラーによって本体が制御されていることがわかりますinformation

ここで、 body タグから情報を削除し、それを最初のdivタグに配置すると ( ng-controller="information"body タグではなく div タグに配置するように)、プログラムが動作しなくなることがわかります (名前を入力しても表示されません)、これは、他の div がコントローラーの範囲外にあるためです。

さて、私が聞きたいのは、HTML 内の別のコントローラーからのデータにどのようにアクセスするのですか? 私は次のことを試しました:

  • {{ information.name || "user" }}<- 最初の試み
  • {{ information.$scope.name || user }}<- {{}} が JS を評価するため、2 回目の試行

そして結局、私は望んだ結果を得ることができませんでした。divでは、別のスコープからどのスコープにも依存しないタグへの情報にアクセスするにはどうすればよいでしょうか?

4

1 に答える 1

0

1 つのことを行います。

getter setter プロパティを持つサービスを作成します。コントローラーからデータを送信する場合は、メッセージまたは変数またはオブジェクトを設定します。そして、アクセスしたいコントローラーで get 関数を使用します。このようにして、コントローラーを介してデータを簡単に渡すことができます。それでも教えて頂けない場合。

于 2013-09-13T09:45:00.153 に答える