Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angularjs中的事件发射器回调_Angularjs_Angularjs Directive - Fatal编程技术网

angularjs中的事件发射器回调

angularjs中的事件发射器回调,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我对angularjs指令不熟悉。目前,我正在创建一个边栏指令: 'use strict'; angular.module('sidebar', ['ngRoute']) .directive('sidebar', function () { return { restrict: 'E', templateUrl: "components/sidebar/sidebar.html", control

我对angularjs指令不熟悉。目前,我正在创建一个边栏指令:

'use strict';

angular.module('sidebar', ['ngRoute'])
    .directive('sidebar', function () {
        return {
            restrict: 'E',
            templateUrl: "components/sidebar/sidebar.html",
            controller: 'SidebarController',
            scope: {
                accountProfileName: '@',
                accountProfileImage: '@',
                accountProfileTitle: '@',
                items: '='
            }
        };
    })
    .controller('SidebarController', ['$scope', function ($scope) {
        $scope.clickDetail = function (item) {
            $scope.$emit("sidebarItemClick", item);
            console.log('Emitted');
        }
    }]);

<div class="profile-sidebar">
    <!-- SIDEBAR USERPIC -->
    <div class="profile-userpic">
        <img ng-src="{{accountProfileImage}}"
             src="{{accountProfileImage}}"
             class="img-responsive" alt="">
    </div>
    <!-- END SIDEBAR USERPIC -->
    <!-- SIDEBAR USER TITLE -->
    <div class="profile-usertitle">
        <div class="profile-usertitle-name">
            {{accountProfileName}}
        </div>
        <div class="profile-usertitle-job">
            {{accountProfileTitle}}
        </div>
    </div>
    <!-- END SIDEBAR USER TITLE -->
    <!-- SIDEBAR BUTTONS -->
    <div class="profile-userbuttons">
        <button type="button" class="btn btn-success btn-sm">Follow</button>
        <button type="button" class="btn btn-danger btn-sm">Message</button>
    </div>
    <!-- END SIDEBAR BUTTONS -->
    <!-- SIDEBAR MENU -->
    <div class="profile-usermenu">
        <ul class="nav">
            <li ng-repeat="item in items"
                ng-class="item.enabled ? 'active' : ''">
                <a href="javascript:void(0);"
                   ng-click="clickDetail(item)">
                    <i class="{{item.icon}}">
                        <span>{{item.title}}</span>
                    </i>
                </a>
            </li>
        </ul>
    </div>
</div>
“严格使用”;
角度模块('sidebar',['ngRoute']))
.directive('sidebar',function(){
返回{
限制:'E',
templateUrl:“组件/sidebar/sidebar.html”,
控制器:“侧边栏控制器”,
范围:{
accountProfileName:“@”,
accountProfileImage:“@”,
accountProfileTitle:“@”,
项目:'='
}
};
})
.controller('SidebarController',['$scope',函数($scope){
$scope.clickDetail=功能(项目){
$scope.$emit(“sidebarItemClick”,项目);
console.log('emissed');
}
}]);
{{accountProfileName}
{{accountProfileTitle}
跟随
消息
在my index.html中,我想使用以下代码:

<sidebar on-item-click="callbackOnItemClick($sidebarItem)"></sidebar>

我知道如何使用双向模型绑定,但我不知道如何像Angular 2中的输出一样使用事件发射器

有人能帮我做这个吗


谢谢,

使用
$scope.$emit
将在$scope上触发一个事件(如父ctrl到子ctrl)

使用
$scope.$broadcast
将在$scope下触发一个事件(如子ctrl到父ctrl)

使用
$scope.$on
是我们监听这些事件的方式(同时监听$emit
此处输入代码
$broadcast
事件)


使用
$scope.$emit
将在$scope上触发一个事件(如父ctrl到子ctrl)

使用
$scope.$broadcast
将在$scope下触发一个事件(如子ctrl到父ctrl)

使用
$scope.$on
是我们监听这些事件的方式(同时监听$emit
此处输入代码
$broadcast
事件)


您的问题似乎不完整。你们能详细说明一下你们想要实现什么吗?我的意思是,在angular 2中,我可以定义输出:['']来从组件发出事件。我想在angular 1中使用同样的方法。@Redplane我认为您需要单击鼠标。您的问题似乎不完整。你们能详细说明一下你们想要实现什么吗?我的意思是,在angular 2中,我可以定义输出:['']来从组件发出事件。我想在angular 1中使用同样的方法。@Redplane我想你需要ng clickI,我的意思是用angular 2这样的输出创建一个指令。像这样:我的意思是创建一个带有输出的指令,比如angular 2。像这个: