2

来るデータから ng-init 属性を設定する必要があるコンテキストで単純な静的 <div ng-init="data=['data']"/> を使用する場合と同様に、angularjs を使用してデータにアクセスする必要があります。クッキーから。

これはほとんど機能するはずですが、{{}} を部分的に使用してデータにアクセスすると、空の文字列が返されます。

競合状態の問題だと思います。

簡略化された HTML コードは次のとおりです (コードは ng-controller 内にあります)。

<script>
    var data = $.cookie("data");    
    $("#data").attr("ng-init", data);
</script>

<div> Data is '{{data}}'</div>
4

1 に答える 1

1

jquery を使用して Cookie を取得しているようです。コントローラー内から直接 Cookie にアクセスできるangular$cookie サービスを使用してみませんか。これにより、ng-init を使用する必要がまったくなくなります。私の経験では、 ng-init は、サーバー側で出力されたものを初期化する必要がある場合にのみ役立ちます。

angular.module('test', []).controller('TestCtrl', function($scope, $cookies) {
  $scope.data = $cookies.data;
});
于 2014-05-20T16:09:58.473 に答える