使用带有标签元素的ng-model。

时间:2015-12-23 12:14:19

标签: angularjs

我正在阅读一个代码并进入了一个标签元素与数据-ng-model一起使用的部分?

<label class="btn btn-success"
  data-ng-model="myController.statusFilter"
  data-btn-radio="'disabled'"
  data-ng-click="myController.method()">
  Disabled
 </label>

5 个答案:

答案 0 :(得分:8)

它不起作用。由于ngModel只能与输入一起使用,因为它涉及双向数据绑定。

Label不处理用户输入,因此不需要ngModel。因此,如果要将范围变量绑定到标签,则可以使用 expressions

<label>  {{labelText}} </label>

注意:您应该在控制器中定义labelText,例如$scope.labelText = "Hello"

答案 1 :(得分:3)

尝试在Plunker中使用ng-bind示例。

答案 2 :(得分:1)

<label class="btn btn-success"
  data-ng-bind="myController.statusFilter"
  data-btn-radio="'disabled'"
  data-ng-click="myController.method()">
  Disabled
 </label>

在这种情况下,ng-bind将起作用。

答案 3 :(得分:0)

 app.directive("editable", function ($document) {
        return {
            scope: {
                text: "=ngModel"
            },
            restrict: 'A', 
            link: function (scope, element, attrs, ctrl) {
                element.text(scope.text);

                scope.$watch('text', function (newValue, oldValue) {
                    if (newValue != oldValue) {
                        if (newValue != element.text())
                            element.text(newValue);
                    }
                });

                element.on("keyup", function (event) {
                    scope.text = element.text();
                });
            }
        };
    });
 <label editable="true" contenteditable="true" ng-model="value"></label>

答案 4 :(得分:-3)

不,因为它不会用于任何目的。该模型会产生什么影响?当模型绑定到标签时,您会如何影响模型?

如果您正在尝试更新标签内的文字,则应该在模板中添加一个变量:

<label class="btn btn-success"
    data-btn-radio="'disabled'"
    data-ng-click="myController.method()">
  {{ myController.statusFilter }}
</label>