0
私はJSONで非常に階層的なデータ構造を持っています。私はまた、再利用可能な(Django)テンプレートをその構造の一部に束縛されるようにしています。だから、私はその構造の中で私が与えられたテンプレートのどこにいるか知る必要があります。私はほとんどあり午前:ng-modelをコントローラに渡す方法
http://jsfiddle.net/trubliphone/fd64rn3y/
不足しているビットは、コントローラに現在のNG-モデルを渡すことができることです。ここ
はいくつかのコードである(ただし、上記jsfiddleの詳細を示す):
my_app.js:
var myApp = angular.module('myApp', []);
myApp.factory('$global_services', ['$http', function($http) {
var data = {};
$http.get("some_url", {format: "json"}) {
/* THIS REQUEST RETURNS A BIG CHUNK OF HIERARCHICAL JSON */
.success(function (data) {
data = data;
})
});
return {
getPathFromModel: a_clever_fn_i_wrote_that_returns_a_string(),
getModelFromPath: a_clever_fn_i_wrote_that_returns_a_model()
}
}]);
myApp.controller('MyController', ['$scope', '$attrs', '$global_services', function($scope, $attrs, $global_services) {
if ($attrs.currentModelPath) {
/* if you passed current_model_path, get the current_model too */
$scope.current_model_path = $attrs.currentModelPath;
$scope.current_model = $global_services.getModelFromPath($scope.current_model_path);
}
else if ($attrs.currentModel) {
/* if you passed current_model, get the current_model_path too */
$scope.current_model = $attrs.currentModel;
$scope.current_model_path = $global_services.getPathFromModel($scope.current_model);
}
}]);
my_template.html:
<div ng-app="myApp">
<div ng-controller="MyController" current_model_path="data">
{{current_model.name}}:
<ul ng-repeat="child in current_model.children">
<input type="text" ng-model="child.name"/> {{ child.name }}
<!-- LOOK: HERE IS A NESTED CONTROLLER -->
<div ng-controller="MyController" current_model="child">
{{current_model.name}}:
<ul ng-repeat="child in current_model.children">
<input type="text" ng-model="child.name"/> {{ child.name }}
</ul>
</div>
</ul>
</div>
</div>
問題がですネストされたコントローラの "div"要素。私は{{child}}
変数を属性として渡しますが、コントローラがそれを受け取ると、JavaScript文字列 "child"として解釈されます。どのようにして実際のモデルオブジェクトを渡すことができますか?
ありがとうございました。
ありがとうございました。それはうまくいくようです。しかし、ng-initを使用すると、ng-repeatの外側に眉をひそめたと思いましたか? – trubliphone
最近は賢明に使うだけですべてが眉を消す – racamp101
これに答えたいのですか? – racamp101