マークアップでコントローラーのスコープにデータを渡すにはどうすればよいですか? そんな感じ:
<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);
}
})
でももっと簡単な方法があるかもしれません