1

マークアップでコントローラーのスコープにデータを渡すにはどうすればよいですか? そんな感じ:

<div>
   {{$scope.name = 'Andrew'}} // but I don't want this line to be shown on the browser 
   <input ng-model='name' />
</div>

asp.net アプリで angular.js を使用していて、一部のヘルパーが json 文字列を返すとします。それをオブジェクトとして$scope. もちろん、カスタム ディレクティブを作成して、json 文字列を属性に入れることもできます。

public static string SomeHelper(this HtmlHelper){
    return new JavaScriptSerializer().Serialize( new { Foo = 'blabla'}).ToString();
} 

<div my-data='@Html.SomeHelper()' >
</div>

次に、属性を読み取って文字列を解析し、オブジェクトをスコープにアタッチします。

.directive('myData', function(){
    return function(scope, element, attrs){
        $scope.data = JSON.parse(attrs.myData);
    }
 })

でももっと簡単な方法があるかもしれません

4

0 に答える 0