2016-05-18 8 views
0

こんにちは、私はAngularJSを1ヶ月前から学び始めていましたが、click(ngClick/customClick)の要素にどのように角度指示を追加できるのでしょうか。クリックして次のノードに要素を追加するAngularjs

<button type="button" ng-click="change()"> 
change this 
</button> 
<div class="container" ng-bind-html="element"> 
<ul> 
    <li>John</li> 
    <li>Joe</li> 
</ul> 
</div> 
<script type="text/ng-template"> 
    <ul><li></li></ul> 
</script> 

var app = angular.module('app',[]); 
app.controller('ctrl',function($scope){ 
    $scope.contents = ['Jack','Jenifer']; 
    $scope.tmpl = "template.html"; 
    $scope.change = function(){ 
    $scope.element= "<ng-include src=\"tmpl\"></ng-include>"; 
    } 
}); 

http://jsfiddle.net/dmeLtepf/2/ 私は実際に...クリックで私は、コンテナ内の既存のリストを交換する必要があり、これに似たものを探しています。ありがとう:)

+0

ng-includeをng-bind-templateと使用する際のポイントは何ですか?あなたはちょうど使用することができます

mhodges

+0

あなたがそれをしている間、あなたが学んでいるので、ng-controllerを使うための好ましい方法は、 "コントローラとして"の構文です。ここで大きな説明:https://toddmotto.com/digging-into-angulars-controller-as-syntax/ – mhodges

+0

私はボタンのフォームでフィルタを持っているとコンテナは、いくつかの関数の結果に応じてテンプレートをレンダリングすると言う。 – cris

答えて

1

あなたのコードは、など、単に代わりにNG-include要素を持つテンプレートをバインドしようとしているのng-include属性を使用するように単純化することができるなど

コードはのように簡単になります:

<div ng-include="Main.template"></div> 

コントローラ内のロジックを使用して、関数呼び出しに基づいてさまざまなテンプレートを動的にロードする方法を示すworking demoがあります。お役に立てれば!

注 - これは、最初のコメントに記載されているように、「コントローラとして」の構文を使用しています。 Link to the article here

+0

https://jsfiddle.net/dmeLtepf/ 私は実際にこのようなものを探しています。クリックすると、コンテナ内の既存のリストを置き換える必要があります。ありがとうございました :) – cris