Angular 1 / $ interpolate - 在数组中插入元素

时间:2017-11-08 11:15:58

标签: javascript angularjs angularjs-interpolate

我有这个数组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

我该怎么做?

1 个答案:

答案 0 :(得分:1)

正如你所说,你可以迭代你的模板然后$插入,就像这样。

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;
    })
相关问题