我的控制器中有一个JSON数组,我想通过使用ng-repeat几次使用我创建的指令来生成。每次通过调用模板中的特定指令函数将数组中的数据传递给指令。我能够完美地获得我的字符串,但因为生成的模板必须是一些HTML代码,Angular并不能解释它。
如果我改变
template: '< div ng-bind="getTemplate(thiselem)">< /div>',
的
template: '< div ng-bind-html="getTemplate(thiselem)">< /div>',
(我在&#34之前添加了一些空格; div&#34;关键字也允许显示html代码)
我的项目中已经执行了我的HTML部分,但是通常使用大括号之间的所有数据都不会被解释(应该返回undefined或null)。如何才能访问这些数据和/或使指令模板正确生成结果?
我已经完成了plunker来向您展示我的问题。
非常感谢你。
答案 0 :(得分:0)
您可以插入指令中使用的字符串。请注意,我正在向变量$ interpolate注入变量。以下是Angular网站的官方文档:AngularJS: API: $interpolate
public static string GetPatientName(int bedNumber)
{
var name = "";
using (var data = new HospitalDBDataContext())
{
if (data.Connection.State == ConnectionState.Closed)
data.Connection.Open();
name = data.Patients.Where(x => x.BedNumber.Equals(bedNumber))
.Select(x => x.Firstname).ToString();
if (data.Connection.State == ConnectionState.Open)
data.Connection.Close();
data.Dispose();
}
return name;
}
答案 1 :(得分:0)
您将getTemplate()函数的结果视为字符串,包括传递的对象。你只需要使用它的实际值:
link: function(scope, element, attrs) {
scope.getTemplate = function(thiselem) {
return '<h1>' + thiselem.id + ':' + thiselem.name + 'tt</h1>';
}
}