当前位置: 首页 > 面试题库 >

将一些HTML附加到DOM后初始化AngularJS控制器

郁烨
2023-03-14
问题内容

有没有办法从纯JavaScript使用$
compile?我正在将基本的javascript和使用Angular的地方结合起来,无法找到一种方法来做这样的事情:http
:
//jsfiddle.net/DavidSlavik/bFdcJ/1/

我想我需要使用$ compile,但是从没有任何作用域的地方使用。

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

function ExpensesCtrl($scope) {

    // Here are some master functions...

}


$(function () {

   // Here is the Ajax function that returns html from my MVC action processed with Razor
   // Here I'm not using AngularJS and scopes...
   var htmlFromAjax = '<div id="mapOrder" ng-controller="sortable"><div ng-repeat="item in SortItems">{{item.Title}}</div></div>';
   $('body').append(htmlFromAjax);

});

function sortable($scope, $http, $element) {

    // Here is the Ajax function that return JSON object. For example it is commented and used static variable SortItems in scope.
    //$http.get('someUrlWitchReturnsJsonObject')
    //    .success(function (e) {
    //        $scope.SortItems = e;
    //    });

    $scope.SortItems = JSON.parse('[{"Title":"ddddddd","MapId":5,"Order":0},{"Title":"Moje mapa","MapId":3,"Order":2},{"Title":"asdas","MapId":4,"Order":3},{"Title":"asds","MapId":7,"Order":4},{"Title":"Pokus","MapId":8,"Order":5},{"Title":"Hello world!!!","MapId":1,"Order":10}]');

问题答案:
angular.bootstrap($("#targetElmForApp")[0], ["myApp"]);

说明:

angular.bootstrap(rootElementForApp, arrayOfModulesForTheApp)

第一个参数设置应用程序的根元素,ng-app否则将通过使用伪指令执行此操作。

第二个参数是定义应用程序的模块列表。这通常是在其中定义应用程序的单个模块。

因此,我们所做的与以下内容相同:

<div id="targetElmForApp" ng-app="myApp"></div>

请参阅:
http :
//docs.angularjs.org/api/angular.bootstrap

http://docs.angularjs.org/guide/bootstrap



 类似资料:
  • 问题内容: 如何附加这个HTML字符串 到具有DOM中ID的DIV ? (顺便说一句是不可接受的。) 问题答案: 使用(如果可用),否则使用某种后备。当前所有浏览器均支持 insertAdjacentHTML 。

  • 在我的AngularJS应用程序中执行任何控制器之前,我有一些全局数据需要加载(即在AngularJS中全局解析依赖项)。 例如,我有一个,它带有方法,它向后端服务器发出请求,以获取关于当前通过身份验证的用户的数据。我有一个控制器需要这些数据来启动另一个请求(例如加载用户的余额)。 我怎样才能做到呢?

  • 问题内容: 在AngularJS应用程序中执行任何控制器之前,我需要加载一些全局数据(即,在AngularJS中全局解析依赖项)。 例如,我有一个with 方法,该方法向后端服务器发出请求,以获取有关当前经过身份验证的用户的数据。我有一个控制器,需要该数据才能启动另一个请求(例如,加载用户的余额)。 我该如何实现? 问题答案: 如果可能,请考虑使用《使用服务器端数据异步引导AngularJS应用程

  • 问题内容: 我有3个执行类似任务的控制器: PastController 向API查询过去的系统中断。 CurrentController 向API查询当前系统中断 FutureController 向API查询将来的系统中断 它们每个都是唯一的(尽管它们具有相似的功能)。但是,它们都从定义相同的变量开始: 我可以使用服务或工厂在一处初始化这些变量,而不用重复代码吗? 问题答案: 我没有测试代码,

  • 我看了这个,这个,还有这个,但遗憾的是,没有一个能解决我的问题。组件总是空的。ID是一样的,但我仍然不知道我做错了什么。下面是我的代码: 应用类。 RootView.fxml 控制器类 应用程序运行正常。我错过了什么吗?

  • 问题内容: 我有一个AngularJs应用程序,我想在其中一开始就加载消息和应用程序版本,并将它们保存在本地存储中,然后再在控制器中使用它们。我现在所拥有的是每个控制器中的服务调用(目前为三个): 我只想获取一次应用程序版本并将其存储在此处。我不必每次都检查版本,对(如果新版本中添加了新消息)? 我发现使用$routeProvider的建议,但我的应用程序不是SPA。所以我需要其他想法/建议。对你