angular.element.scope()未定义

时间:2015-03-15 14:10:41

标签: angularjs angularjs-scope

我试图在新的html内容中添加一个控制器,该内容将动态添加到现有的dom中,但我的范围未定义。这样做的最佳方式是什么?我是Angular的新人。

对不起,这是我的代码:

var angularScript = document.createElement('script');
angularScript.setAttribute('type','text/javascript');
angularScript.setAttribute('src','https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js');
document.head.appendChild(angularScript);

jQuery('body').append("<section id='custFA'><div id='getTable' data-ng-app='custom' data-ng-controller='customController'  style='overflow-y: auto !important;position:absolute; width: 300px; height: 200px; top:100px; left: 200px;'><button id='runCust' data-ng-click='codeRun()' style='top: 57px; left: 120px;'>Run</button></div></section>");

I'm inserting module and controller scripts as well, and the code in it:
Module:
setTimeout(function angularDefined(){
    if(angular){
        window.app = angular.module("custom",[]);
        console.log("angular");
    }
    else{
        setTimeout(angularDefined,1000);
    }
},1000);

controller:
function appDefined(){
    if(window.app){
        window.defined=true;
        console.log("appDefined");
        app.controller('customController', ['$scope', function($scope) {

            $scope.codeRun=function(){

                console.log("check");

            }

        }]);

    }
    else{
        setTimeout(appDefined,1000);

    }
};

appDefined();

由于

1 个答案:

答案 0 :(得分:0)

您需要先创建一个控制器..文档:

var myApp = angular.module('myApp',[]);

myApp.controller('GreetingController', ['$scope', function($scope) {
  $scope.greeting = 'Hola!';
}]);

在你的html中:让你的视图知道要使用哪个控制器。在该div内部,您可以访问$ scope

上的任何变量
<div ng-controller="GreetingController">
   {{ greeting }}
</div>