【问题标题】:How to use ngModel to bind an input control with Javascript after AngularJS's bootstrap?在 AngularJS 的引导程序之后,如何使用 ngModel 将输入控件与 Javascript 绑定?
【发布时间】:2014-03-18 04:51:29
【问题描述】:

AngularJS bootstrap 后如何使用 ngModel 将输入控件与 JavaScript 绑定?

我尝试通过setAttribute方法添加ng-model属性,但是没有成功!

    function FormController($scope) {
        $scope.name="OK";

        $scope.createBind=function(){
                    var texteditor=document.getElementById("test");
                    if(texteditor.getAttribute("ng-model")==null){
                        texteditor.setAttribute("ng-model","name");
                        $scope.$apply();
                    }
                }
    }

<input type="text" id="test">
<button ng-click="createBind()">Bind</button>

【问题讨论】:

    标签: angularjs angular-ngmodel


    【解决方案1】:

    如果您通过 javascript 或 jquery 等进行更改,Angular 不会得到更改...

    您应该致电$scope.$apply() 手动获取此类更改...

    这里有一个很好的article供你了解$scope.apply()...

    【讨论】:

    • 我尝试在 input.setAttribute("ng-model","xx") 之后调用 $scope.$apply(),但没有成功!
    • 感谢您的回复!
    • 不,也许我应该先阅读AngularJS源代码来解决这个问题!
    • @user3431353 你能发布你的代码或创建plunker吗?
    猜你喜欢
    • 1970-01-01
    • 2016-12-24
    • 2020-05-17
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多