【问题标题】:AngularJS - Passing object into ng-include (dynamically)AngularJS - 将对象传递给 ng-include(动态)
【发布时间】:2013-11-10 11:19:36
【问题描述】:

下面我有一个工作示例...但是有一个问题... html 中的 node.title 工作正常...但是当 {{node.title}} 进入 ng-include 文件时...不起作用。只有全局 $scope 是可见的,而不是“节点”对象

var element = angular.element($(".withOptions"));
var scope = element.scope();
var injector = element.injector();
var compile = injector.get('$compile');


compile(
       '<li id="list_77"><div><i class="icon20 i-folder-open"></i>'+node.title+' <i class="icon16 i-arrow-down-2"></i><div ng-include="\'http://localhost/test/public/theme\'"></div></div></li>'
       )(scope).appendTo($(".withOptions"));

【问题讨论】:

  • 你在哪里运行这段代码,在指令中?你能在 plunker/fiddle 中重现它吗?
  • 不在指令中...只是在我的控制器的函数中

标签: javascript angularjs object


【解决方案1】:

您的代码在调用时抛出异常:

compile(
       '<li id="list_77"><div><i class="icon20 i-folder-open"></i>'+node.title+' <i class="icon16 i-arrow-down-2"></i><div ng-include="\'http://localhost/test/public/theme\'"></div></div></li>'
       )(scope).appendTo($(".withOptions"));

因为调用compile("yourtemplate")(scope)时没有appendTo方法

你应该试试:

compile(
           '<li id="list_77"><div><i class="icon20 i-folder-open"></i>'+node.title+' <i class="icon16 i-arrow-down-2"></i><div ng-include="\'http://localhost/test/public/theme\'"></div></div></li>'
           )(scope,function(clonedElement,scope){
                clonedElement.appendTo($(".withOptions"));
          });

【讨论】:

    猜你喜欢
    • 2015-07-13
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多