javascript - AngularJS ng-hide 不工作

标签 javascript angularjs

标记看起来像:

<div id="communication-list" ng-controller="contactListController">
    <li ng-repeat="contact in contacts" ng-controller="contactItemController" ng-dblclick="chatWithUser(contact)" ng-click="contactItemClick($event)">
        <div class="name">{{ contact.username }}</div>
        <ul ng-hide="popoverHide">
            <button ng-click="chatWithUser(contact)">Send Message</button>
        </ul>
    </li>
</div>

contactItemController 看起来像:

FF.controller('contactListController', ['$scope', '$rootScope', function($scope, $rootScope) {
    // Start Text chat
    $scope.chatWithUser = function(currentContact) {
        AppManager.startConversation(currentContact.id);
    }
}
FF.controller('contactItemController', ['$scope', '$element', function($scope, $itemElement) {
    $scope.popoverHide = true;
    $scope.contactItemClick = function(event) {
        console.log('test'); // prints.
        $scope.popoverHide = !$scope.popoverHide;
        event.stopPropagation();
    };
}]);

是否存在范围问题?不确定发生了什么。我还尝试将 $scope.popoverHide 设置为 false 只是测试但没有成功。

最佳答案

将其放置在 Controller 内,其范围为:

FF.controller( 'contactListController', ['$scope', '$rootScope', $element, function( $scope, $rootScope, $itemElement ) 
{
    $scope.chatWithUser = function( currentContact )
    {
        AppManager.startConversation( currentContact.id );
    }

    $scope.popoverHide = true;
    $scope.contactItemClick = function( event )
    {
    console.log('test'); // prints.

    $scope.popoverHide = !$scope.popoverHide;

        event.stopPropagation();
    };
}

关于javascript - AngularJS ng-hide 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26989111/

相关文章:

javascript - 通过 Node js 使用 CommonJS 模块化时,Javascript 构造函数何时执行?

javascript - 在 JavaScript 计算开始时用生成的变量覆盖变量

javascript - 使用 Babel 编译具有依赖关系的 javascript

javascript - angularjs 在上传之前压缩图像

javascript - Angular 中的 UI 网格刷新

javascript - Angularjs [$rootScope :inprog] inprogress error

javascript - 使用 Angular-Material 创建简单应用程序时出现问题

javascript - 在 Internet Explorer 上删除传单区域选择

javascript - 更改范围变量时无法获取范围变量长度

javascript - 有没有办法通过属性获取元素?