ng-init中的html标记

时间:2015-01-23 00:50:50

标签: javascript html angularjs ng-init

我是棱角分明的初学者。我试图做这样的事情:

    <div ng-init="elements=
        [
          {
            element:'<a herf='www.google.com'>google</a>'
          },
          {
            element:'<a herf='www.yahoo.com'>yahoo</a>'
          }
        ]">
          <div ng-repeat="item in elements">
              <p>{{item.element}}</p>
          </div>
    </div>

它不起作用,我认为这是因为标签内的单引号。有没有解决方法?

1 个答案:

答案 0 :(得分:0)

与@PSL一样,您应该将该逻辑移动到控制器中:

$scope.elements = [
          {
            element:'<a href="www.google.com">google</a>'
          },
          {
            element:'<a href="www.yahoo.com">yahoo</a>'
          }
        ]

如果您希望将其保留在ng-init中,则问题是您的href='...'应该是双引号,如上面的代码所示。要使用双引号,您需要像这样转义它们:\"。你也拼错了href

来自AngularJS docs

  

“ngInit的唯一合适用途是用于别名特殊属性   ngRepeat的内容,如下面的演示所示。除了这种情况,你应该   使用控制器而不是ngInit初始化范围上的值。“