Angular 1/$interpolate - 插入数组中的元素
Angular 1/$interpolate - interpolate elements in array
我有这个数组 stateData.submenu
:
[
{
"template": "<span>myContacts</span>",
"sref": "contact.list"
},
{
"template": "<span>myProjects</span>",
"sref": "project.list"
},
{
"template": "<span>myRecommendations</span>
<span class=\"badge\">{{ notificationBadge }}</span>",
"sref": "recommendation.list"
}
]
对于 $interpolate
我做的数组第三个元素中的 template
属性 (解释 {{ notificationBadge }}
表达式):
this.interpolateTemplate = this.$interpolate(stateData.submenu[2].template)(this)
但它不是很干净,我想创建一个循环来迭代数组的所有 template
属性和 $interpolate
.
我该怎么做?
正如您所说,您可以迭代模板,然后 $interpolate,就像这样。
var self = this;
this.notificationBadge = "Just a test"
this.templates = [{
"template": "<span>myContacts</span>",
"sref": "contact.list"
},{
"template": "<span>myProjects</span>",
"sref": "project.list"
},{
"template": "<span>myRecommendations</span> < span class=\"badge\">{{ notificationBadge }}</span>",
"sref": "recommendation.list"
}].map(function each(template){
template.template = $interpolate(template.template)(self)
return template;
})
我有这个数组 stateData.submenu
:
[
{
"template": "<span>myContacts</span>",
"sref": "contact.list"
},
{
"template": "<span>myProjects</span>",
"sref": "project.list"
},
{
"template": "<span>myRecommendations</span>
<span class=\"badge\">{{ notificationBadge }}</span>",
"sref": "recommendation.list"
}
]
对于 $interpolate
我做的数组第三个元素中的 template
属性 (解释 {{ notificationBadge }}
表达式):
this.interpolateTemplate = this.$interpolate(stateData.submenu[2].template)(this)
但它不是很干净,我想创建一个循环来迭代数组的所有 template
属性和 $interpolate
.
我该怎么做?
正如您所说,您可以迭代模板,然后 $interpolate,就像这样。
var self = this;
this.notificationBadge = "Just a test"
this.templates = [{
"template": "<span>myContacts</span>",
"sref": "contact.list"
},{
"template": "<span>myProjects</span>",
"sref": "project.list"
},{
"template": "<span>myRecommendations</span> < span class=\"badge\">{{ notificationBadge }}</span>",
"sref": "recommendation.list"
}].map(function each(template){
template.template = $interpolate(template.template)(self)
return template;
})