javascript - 想更新我的 `ng-model' 值 Angular

标签 javascript angularjs html

<div style="width:100%">
       <input name="myInput1"  id="txt_name" class="search-pannel" ng-model="query.name" type="text" placeholder="Type something" ng-change="search(query.name)">{{query.name}}
       <input type="text" id="txt_name2" />
</div>

我想更新我的 ng-model="query.name"

 if ($rootScope.searchText != undefined) {

    //$scope.query = $rootScope.searchText;
    //$scope.query.name = $scope.query;
    $('#txt_name').val('"' + $rootScope.searchText + '"');
    $('#txt_name2').val('"' + $rootScope.searchText + '"');
}

如果我有我的 rootscope 值,我正在更新我的 ng-model="query.name" 但我可以看到值没有更新,因为 ng-model..

Demo

我为什么要这样做... 单击“显示详细信息”按钮时,所选信息应移动到只读页面(使用默认路由)并且应向用户显示详细信息,单击浏览器后退按钮应导航到搜索页面并仍然显示选定的值。

为此,我使用 rootScope 来存储搜索值,并再次填充它。

我已经分享了工作代码。如果我能以更好的方式做到这一点,请建议我。 我一定是在问基本逻辑,但我是 Angular 的新手。

谢谢!!

最佳答案

首先,以这种方式使用 jQuery 和 AngularJS 并不是最佳解决方案。

现在,至于发生了什么。您实际上是在更新 View ,而 Angular 不知道模型值已更改。 View 和模型值是两个不同的实体。您需要在分配后调用 $scope.digest() 或在 $scope.apply(函数(){}); 堵塞。

这将使 Angular 知道更改并导致模型更新。那就是说你能告诉我们你为什么要这样做吗?我们或许可以帮助您想出更好、更高效的模式。

关于javascript - 想更新我的 `ng-model' 值 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31227414/

相关文章:

html - 如何在 IBM Websphere Portal 8 中为自定义主题实现 Twitter Bootstrap Framework?

html - reCaptcha 在 body 标签的末尾插入 div

javascript - 在css中选择Ul和LI

javascript - CSS Animations 如何从动画过渡到静止状态

javascript - pi 感知和导出数据

javascript - 我如何从谷歌地图信息窗口调用 Angular2 函数?

html - CSS - 操纵圆圈

javascript - 如何在不同的 url angularjs 上更改类名

javascript - 为什么这在 Angular js 中有效

html - 沙盒主题中心菜单元素