ボタンをクリックすると表示されるメニューがあります。まあ、そのメニューには、スパンのペアがあります:icon-title。かなり簡単ですね。Ng-clickがdivで動作しない
どういうわけか、これらのスパンは、私がそれらをクリックしたときに私のコントローラメソッドを呼び出すことはありません。私はdivでこれらのペアをラップし、それらのng-clickを設定しようとしましたが、どちらもうまくいきません。
これは私のコンテキストメニューです:
<div class="opciones" ng-hide="optionsHide">
<div>
<span class="glyphicon glyphicon-lock icono"></span> <span class="optionsLabel">Encrypt</span>
</div><br>
<div ng-click="removeNote()">
<span class="glyphicon glyphicon-trash icono"></span><span class="optionsLabel"> Delete</span><br>
</div><br>
<div>
<span class="glyphicon glyphicon-wrench icono"></span><span class="optionsLabel"> Options</span>
</div>
</div>
現在、私は唯一の "removeNote()" 機能に焦点を当てています。角度とノードの両方のメソッドをテストする準備ができていますが、クリックを実行できないので使用できません。
これが働いて、コントローラ内部で、関数である。
$scope.removeNote = function(){
$http.post('/removeNote', $scope.mainNote).success(function(data){
console.log("Note removed");
console.log(data);
loadNotes();
}).error(function(err){
console.log("ERROR ON DELETE");
console.log(err);
});
}
NG-クリックは、この関数を呼び出していないのはなぜ?何か不足していますか?
編集:
コントローラー宣言:
アッパーコントローラ:
app.controller('mainCtrl', ['$scope', '$http', '$filter', 'focus', function($scope, $http, $filter, focus){
インナー:
app.controller('contentCtrl', ['$scope', '$q', '$timeout', function($scope, $q, $timeout) {
用途:
<body ng-controller="mainCtrl" ng-cloak>
// Things
<content ng-controller="contentCtrl">
// My contextual menu as shown above
実際、このメソッドは別のコントローラ(はい、2つのネストされたコントローラ)の中にありますが、残りの継承された関数は正常に動作します。唯一のものはこれだけです。とにかく、私は私のdiv /スパンのペアにマウスを置くので、私は通常のポインタを見て、それは全く適用されていない(私はHTMLコンソールthoでそれを見ることができます)。
私の最初の推測では、$ http.postコールバックで "success"が間違っているため、エラーが発生していると思います。コンソールログを確認してください。 – Rob
ちょうど修正され、そのタイプミスが編集されましたが、ありがとう!メソッドが呼び出されることはないので、これは問題ではありません。 – Zerok
コントローラの宣言はどのように見えますか、コントローラはHTMLのどこに設定されていますか?ありがとう! – aaronofleonard