【问题标题】:Why my angular code turns to comment?为什么我的角度代码变成评论?
【发布时间】:2014-12-16 07:54:17
【问题描述】:

我使用 angularjs。我的 html 将在渲染后进行评论。为什么? 渲染代码之前:

<select data-ng-model="selectedDate"> <option data-ng-repeat="date in OldRecords" value="{{}}">{{date}}</option> </select>

渲染后:

<section>

    <select data-ng-model="selectedDate" class="ng-pristine ng-valid">
        <!-- ngRepeat: date in OldRecords -->
    </select>

</section>

【问题讨论】:

  • 这是一个角度的internal,你不应该被它打扰。
  • Angular 添加了 cmets,它没有被替换或任何东西。您似乎在 oldRecords 中没有任何日期

标签: javascript html angularjs


【解决方案1】:

在这种情况下最好使用 ng-options,

只显示一条注释,因为 $scope.OldRecords 不存在或为空。

【讨论】:

  • 但是这个控制器有 $scope.OldRecors = ['2014'];它必须是对象吗?
【解决方案2】:

这是 ngRepeat 执行的元素嵌入的结果。我认为它不会影响您的任何代码或逻辑。 这些答案也会有所帮助,而且他们也说了同样的话

Remove helper HTML comments in Angular JS?

AngularJS leaves comments in HTML: is it possible to remove them?

【讨论】:

    【解决方案3】:

    我已经尝试了相同的代码并且它对我来说工作正常。这是jsfiddle 的链接。您获得此 cmets 的原因是您的列表无法与选项绑定。 oldrecords 无法与 html 绑定。这是您获得此 cmets 的唯一原因。

    应用程序

    angular.module('app', []).
    controller('controller1', function($scope){
        $scope.OldRecords = ["banana", "apple", "peach"];
    });
    

    html:

    <section ng-app="app" ng-controller="controller1">
        {{dummy}}
    <select data-ng-model="selectedDate">
        <option data-ng-repeat="date in OldRecords" value="{{}}">{{date}}   </option>
    </select>
    </section>
    

    【讨论】:

      【解决方案4】:
      <select data-ng-model="selectedDate">
         <option data-ng-repeat="date in OldRecords" value="{{}}">{{date}}</option>
      </select>
      

      这里 OldRecords 是一个空对象。所以 Angular 会做出评论

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-27
        • 1970-01-01
        • 2018-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-24
        • 2011-02-09
        相关资源
        最近更新 更多