2013-03-08 77 views
1

我有一个控制器,它接收json项目列表并在我的视图中重复它们。我正在使用bootstrap弹出窗口的变体,并希望在定义了我的$ scope.popover的子模板中插入订单ID,并为变量进行解析。我读了方括号是要走的路,但它似乎不适合我。AngularJS - 将插入的html片段传递给指令属性

function ManageOrderCtrl($scope, $http) { 
    $scope.subtemplate = '<input class="hidden" value="[order._id]">'; 

    $http.get('/api/orders'). 
    success(function(data, status, headers, config) { 
     $scope.orders = data.orders; 
    }); 

    }; 
} 

模板(实际上是一个指令 - 引导酥料饼的变化):

<li ng-repeat="order in orders"> 
    <a href="#" popover="{{ subtemplate }}">{{ order._id }}</a> 
<li> 
+0

什么是你的错误 – smk 2013-03-08 05:05:18

+0

这里的子模板被视为正常的字符串值,并且范围解析不会发生。为什么你要在html属性'popover'中嵌入html? – Chandermani 2013-03-08 05:08:43

+0

没有错误,但变量order_id没有插入。我想这样做的原因是我需要将一些相当复杂的html传递给popover属性 - 不知道有什么更好的方法。希望有一个简单的方法,而不是为它写一个指令 - 特别是考虑到popover已经是2个指令 – cyberwombat 2013-03-08 05:18:10

回答

0

你可以尝试像

<li ng-repeat="order in orders"> 
    <a href="#" popover="<input class="hidden" value='{{order._id}}'">{{ order._id }}</a> 
<li> 

而是在控制器定义模板。您也可以使用ngInclude创建模板并将它们包含在html中。

+1

是的,这就是我现在拥有的 - 但它非常混乱 - 有相当数量的html。和ngInclude似乎并没有在我的情况下得到解析 - 只是打印出来:ng-include'templatename.html' – cyberwombat 2013-03-08 16:51:08

+0

我认为它不会被解析,因为它实际进入的代码(例如它是A标签)是本身是一个指令 – cyberwombat 2013-03-08 16:51:52

相关问题