如何优雅的做到在js作用域下操作ng作用域下的对象?

<!DOCTYPE html>

<html ng-app>

<head>

    <title>demo</title>

</head>

<body>

    <div ng-controller="demoCtrl">

        {{name}}

    </div>

<script type="text/javascript" src="angular.min.js"></script>



<script type="text/javascript">


    var scope = null;

    function demoCtrl($scope){

        $scope.name = "kazaff";

        scope = $scope;   //这种方法把scope直接泄露到全局的方法,有待考量

    }



    //由于该代码必须在ng加载完毕后才可运行,所以这里模拟一个时间差。

    setTimeout(function demo(){

        scope.name = "edisondik";

        scope.$apply();

    }, 1000);

</script>



</body>

</html>

目前只能用上述最粗暴的方式来完成,不知道大牛们是怎么做的?


PS:请不要跟帖说“在controller里写回调”等方法,这种形式不符合我的实际场景,谢谢~


呼如林
浏览 454回答 2
2回答

慕姐8265434

大致是可以这样的elem = document.getElementById("abcd")scope = angular.element(elem).scope()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript