0
角度2でツリービューを作成しようとしています。追加ボタンと削除ボタンが付いたテキストボックスのツリーです。私は、角度1で実行してそれを得たが、それは、角2角度2のツリービュー - ng-includeとコンポーネント間でオブジェクト全体を渡す代わりの方法
角度1 HTMLコード内の道の複雑なようだ:
<script type="text/ng-template" id="tree_item_renderer.html">
<input type="text" ng-model="data.answer" placeholder="Answer" required/>
<button ng-click="add(data)">Add node</button>
<button ng-click="delete(data)" ng-show="data.nodes.length > 0">Delete nodes</button>
<ul>
<li ng-repeat="data in data.nodes" ng-include="'tree_item_renderer.html'"></li>
</ul>
</script>
<ul ng-app="Application" ng-controller="TreeController">
<li ng-repeat="data in tree" ng-include="'tree_item_renderer.html'"></li>
</ul>
Javascriptコード:
angular.module("myApp", []).
controller("TreeController", ['$scope', function($scope) {
$scope.delete = function(data) {
data.nodes = [];
};
$scope.add = function(data) {
data.nodes.push({answer:'',nodes: []});
};
$scope.tree = [{answer:'', nodes: []}];
}]);
NG-含んは角にありません2. @Inputを使ってコンポーネント間でデータを渡そうとしました。しかし、オブジェクトの新しいインスタンスは、以前のデータを上書きするたびに作成されます!
角度2でこれに取り組む方法はありますか? tree
と仮定すると
私が持っていますこれは私のテンプレートにあります:
私は構造の共通ファイルでクラスを作成しました: エクスポートクラスTreeData { 答え:文字列; 子:TreeData []; コンストラクタ(回答:文字列、子:TreeData []){ this.answer = answer; this.child = child; } } –
'inputData'は' TreeData'の 'answer'ですか?それとも、それは追加コンポーネントの入力ですか? –