相关疑难解决方法(0)

AngularJS如何动态添加HTML并绑定到控制器

我刚开始使用angularJS并且正在努力找出适合我正在尝试的架构.我有一个单页应用程序,但URL始终保持不变 ; 我不希望用户能够导航到root之外的任何路由.在我的应用程序中,有一个主要div需要托管不同的视图.访问新视图时,我希望它接管主div中的显示.以这种方式加载的视图可以丢弃或隐藏在DOM中 - 我很想知道每个视图的工作原理.

我想出了一个粗略的工作示例,说明我正在尝试做什么. 请参阅此Plunk中的工作示例. 基本上我想动态地将HTML加载到DOM中,并让标准的angularJS控制器能够挂钩到新的HTML中.有没有更好/更简单的方法来做到这一点,而不是使用我在这里的自定义指令并使用$ compile()来连接到角度?也许有点像路由器,但是不需要URL有变化才能运行?

这是我到目前为止使用的特殊指令(取自另一个SO帖子):

// Stolen from: http://stackoverflow.com/questions/18157305/angularjs-compiling-dynamic-html-strings-from-database
myApp.directive('dynamic', function ($compile) {
  return {
    replace: true,
    link: function (scope, ele, attrs) {
      scope.$watch(attrs.dynamic, function(html) {
        if (!html) {
            return;
        }
        ele.html((typeof(html) === 'string') ? html : html.data);
        $compile(ele.contents())(scope);
      });
    }
  };
});
Run Code Online (Sandbox Code Playgroud)

谢谢,

安迪

javascript angularjs

58
推荐指数
3
解决办法
20万
查看次数

在bootstrap之后动态地将控制器分配给元素

我有一个AngularJS应用程序,我在时间't'手动引导.在't + 1'时,我想显示一个没有附加ng-controller的HTML元素.我想动态地将ng-controller添加到此元素,以便它可以与我的javascript代码进行通信.

我怎样才能做到这一点?

PS我试图动态地将ng-controller属性添加到元素,但它不起作用.

javascript angularjs ng-controller

6
推荐指数
1
解决办法
2645
查看次数

标签 统计

angularjs ×2

javascript ×2

ng-controller ×1