javascript - 有没有更简单的方法可以检查 Angular watch 中的预期更改?

标签 javascript angularjs

我正在使用此代码:

    $scope.$watch('option.sTest', function (newValue, oldValue) {
        if (newValue !== undefined && 
            newValue !== null && 
            newValue !== oldValue) {
        }
    });

有了这个会让我的代码看起来很臃肿。有人对我如何以其他方式实现这些检查有任何建议吗?请注意,newValue 或 oldValue 的值 0 是有效的,因此我无法像这样检查:

    $scope.$watch('option.sTest', function (newValue, oldValue) {
        if (newValue  && oldValue &&
            newValue !== oldValue) {
        }
    });

最佳答案

尝试:

$scope.$watch('option.sTest', function (newValue, oldValue) {
    if (typeof newValue !== "undefined" && newValue !== null){

    }
});

$watch 在 newValue 不等于 oldValue 时触发,因此我们不需要检查 newValue !== oldValue

关于javascript - 有没有更简单的方法可以检查 Angular watch 中的预期更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21641896/

相关文章:

javascript - 带有多个下划线的文本

javascript - 如何在单击实际调用该函数的按钮时将 javascript 函数的返回值传递给 para 标记?

javascript - 从相机获取文件后,cordova.js 出现错误

javascript - 一个 JSON 如何调用另一个 JSON

node.js - 咕噜连接代理重定向?

javascript - 添加 office.js 禁用 html5mode

javascript - 如何从 Instagram 的 media_preview 原始数据中重新创建预览?

javascript - 从静态图像 URL 中提取 Flickr 照片 ID

javascript - 如何在 ios 中的 cordova 中启动 Navigator

javascript - AngularJS:我什么时候应该创建另一个 Controller ?