14

私はAngularJsを見ていましたが、質問があります.これは私の指示です:

myApp.directive("enter", function(){
return{
    restrict: 'A',
    scope:{},
    controller: function($scope){
        $scope.logSomething=function(somevalue){
            console.log(somevalue+" is logged");
        }
    },
    template: '<input type="text" ng-model="myModel">'+
              '<div ng-click="logSomething(myModel)">click me</div>'
}
})

これは機能しますが、私の質問は、 ng-clickディレクティブの代わりにバインド クリックを使用して同じことを行うにはどうすればよいですか? それが良いというわけではありません(多分?)が、好奇心のために

このようなものを含める必要がありますが、全体像を把握できませんでした:

 function(scope, element, attrs){
    element.bind("click", function(){
        scope.$apply(attrs.enter);
    })
4

2 に答える 2

3

あなたが指摘したように、単に使用できますelement.bind

myApp.directive(
    'clickMe',
    function () {
        return {
            template : '<div>Click me !</div>',
            replace : true,
            link : function (scope, element) {
                element.bind('click', function ()
                {
                    alert('Clicked !');
                });
            },
        };
    }
);

Fiddle

ただし、もちろん、あなたの場合は、代わりに使用する必要ngClickがあります。

于 2013-08-06T11:48:27.860 に答える