Javascript 未找到元素

Javascript 未找到元素,javascript,angularjs,Javascript,Angularjs,我遇到一个找不到元素的问题。我从名为AuthDesc的Ui路由器获得此Ui状态,对于模板URL,我有以下内容: <head> <link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen"> <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel

我遇到一个找不到元素的问题。我从名为
AuthDesc
的Ui路由器获得此Ui状态,对于
模板URL
,我有以下内容:

  <head>
    <link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen">
    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>

  </head>
  <body>

<textarea id="SimpleMDE">
# This one autosaves!
By default, it saves every 10 seconds, but this can be changed. When this textarea is included 
in a form, it will automatically forget the saved value when the form is submitted.
</textarea>

  </body>
(function(angular) {
  var app = angular.module('ForumApp');

  app.controller('authDescCtrl', ["$scope", "$mdDialog", "$state", "$firebaseObject","refService","currentAuth",authDescCtrl])

  function authDescCtrl($scope, $mdDialog, $state, $firebaseObject,refService,currentAuth){

      $scope.topic = $firebaseObject(refService.ref().child("Topics"))


    $scope.goToPerson = function(person, event) {
      $mdDialog.show(
        $mdDialog.alert()
        .title('Navigating')
        .textContent('Inspect ' + person)
        .ariaLabel('Person inspect demo')
        .ok('Neat!')
        .targetEvent(event)
      );
    };

    $scope.goToTopic = function(avatar, date, email, title, uid, username, value) {
      $state.go("authHome.topic", {
        "AVATAR": avatar,
        "DATE": date,
        "EMAIL": email,
        "TITLE": title,
        "UID": uid,
        "USERNAME": username,
        "VALUE": value
      })

    }

  }

 new SimpleMDE({
            element: document.getElementById("SimpleMDE"),
            spellChecker: true,
            autosave: {
                enabled: true,
                unique_id: "SimpleMDE",
        },
    });

})(angular);
您可以在控制器的最后几行中看到,有一个新的MDE生成器,但是控制台声明找不到该元素:

SimpleMDE:错误。没有找到任何元素

我很困惑。有一个名为
SimpleMDE
textarea
,但我不知道它怎么找不到它。以下是指向“野生”代码的链接:


我担心Javascript会在HTML之前加载,因此它无法识别ID为
SimpleMDE

的texarea,将小部件初始化包装在 对于角度控制器的使用:

angular.element(document).ready(function () {
        new SimpleMDE({
            element: document.getElementById("SimpleMDE"),
            spellChecker: true,
            autosave: {
                enabled: true,
                unique_id: "SimpleMDE",
        },
    });

});

将小部件初始化包装到 对于角度控制器的使用:

angular.element(document).ready(function () {
        new SimpleMDE({
            element: document.getElementById("SimpleMDE"),
            spellChecker: true,
            autosave: {
                enabled: true,
                unique_id: "SimpleMDE",
        },
    });

});

您也可以使用以下代码执行此操作:

$timeout(function() {

new SimpleMDE({
element: document.querySelector("#SimpleMDE"),
spellChecker: true,
autosave: {
enabled: true,
unique_id: "SimpleMDE",
}
});
});

您也可以使用以下代码执行此操作:

$timeout(function() {

new SimpleMDE({
element: document.querySelector("#SimpleMDE"),
spellChecker: true,
autosave: {
enabled: true,
unique_id: "SimpleMDE",
}
});
});

我该怎么做?你知道这是一个控制器,对吗?你可以使用$document.ready(function(){…})或upadated answer中的一个)你可以回到cloud9吗?引用ID不是一种角度的方式,定义一个指令并使用
$element
来代替-它也比
onload
快得多。我该怎么做?你知道这是一个控制器,对吗?你可以使用$document.ready(function(){…})或upadated answer中的一个)你可以回到cloud9吗?引用ID不是一个角度的方式,定义一个指令并使用
$element
来代替-它也比
onload
快得多。