从外部功能访问范围

时间:2014-05-14 14:55:47

标签: angularjs angularjs-scope

从外部函数OnLoginFail调用函数showFormAndHideMessage时,我遇到了问题。 我尝试使用

 angular.element($("login")).scope().showFormAndHideMessage().$digest(); 

但它不起作用。我知道scope()应该允许我在指令中访问控制器。

Login.js

  lobby.directive( 'login', function() {
    return {
    restrict: 'E',
    replace: false,
    templateUrl: 'lobby/login/login.html',
    scope: {},

         ....

    function OnLoginFail( error ) {
       alert( error.Message );
       angular.element($("login")).scope().showFormAndHideMessage().$digest();  

   }

1 个答案:

答案 0 :(得分:1)

如果您未在指令中创建隔离范围,则只允许您直接访问父范围。您正在使用以下行隔离指令中的范围:

scope: {}

修改

根据JPRO的评论,解决此问题只是删除指令配置中的那一行。