相关疑难解决方法(0)

AngularJS:绑定到服务属性的正确方法

我正在寻找如何绑定到AngularJS中的服务属性的最佳实践.

我已经通过多个示例来了解如何绑定到使用AngularJS创建的服务中的属性.

下面我有两个如何绑定到服务中的属性的示例; 他们都工作.第一个示例使用基本绑定,第二个示例使用$ scope.$ watch绑定到服务属性

在绑定到服务中的属性时,这些示例中的任何一个都是首选的,还是有其他我不知道的选项会被推荐?

这些示例的前提是服务应每5秒更新其属性"lastUpdated"和"calls".更新服务属性后,视图应反映这些更改.这两个例子都成功地运作了 我想知道是否有更好的方法.

基本绑定

可以在此处查看和运行以下代码:http://plnkr.co/edit/d3c16z

<html>
<body ng-app="ServiceNotification" >

    <div ng-controller="TimerCtrl1" style="border-style:dotted"> 
        TimerCtrl1 <br/>
        Last Updated: {{timerData.lastUpdated}}<br/>
        Last Updated: {{timerData.calls}}<br/>
    </div>

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.js"></script>
    <script type="text/javascript">
        var app = angular.module("ServiceNotification", []);

        function TimerCtrl1($scope, Timer) {
            $scope.timerData = Timer.data;
        };

        app.factory("Timer", function ($timeout) {
            var data = { lastUpdated: new Date(), calls: 0 };

            var updateTimer = function () {
                data.lastUpdated = new Date();
                data.calls += 1;
                console.log("updateTimer: " + data.lastUpdated);

                $timeout(updateTimer, 5000); …
Run Code Online (Sandbox Code Playgroud)

data-binding angularjs angularjs-service angularjs-controller

162
推荐指数
5
解决办法
11万
查看次数

AngularJS:使用jQuery更改时,ng-model绑定不会更新

这是我的HTML:

<input id="selectedDueDate" type="text" ng-model="selectedDate" />
Run Code Online (Sandbox Code Playgroud)

当我在框中输入时,模型通过双向绑定机制进行更新.甜.

但是,当我通过JQuery这样做...

$('#selectedDueDate').val(dateText);
Run Code Online (Sandbox Code Playgroud)

它不会更新模型.为什么?

javascript data-binding jquery angularjs angular-ngmodel

98
推荐指数
4
解决办法
18万
查看次数