首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在模型改变时重新绑定单向角和绑定?

如何在模型改变时重新绑定单向角和绑定?
EN

Stack Overflow用户
提问于 2014-10-31 00:25:26
回答 2查看 346关注 0票数 4

有没有什么解决方案或角度插件可以在模型改变时进行单向绑定和重新绑定?现在我使用的是插件bind-once,但它只是在第一次绑定时就销毁了watcher。示例:

代码语言:javascript
复制
    <div bindonce="model"><span bo-bind="model.title"></span></div>
EN

回答 2

Stack Overflow用户

发布于 2014-10-31 00:28:25

Angular已经为你做了这件事

代码语言:javascript
复制
<div><span ng-bind="model.title"></span></div>

代码语言:javascript
复制
<div><span>{{model.title}}</span></div>
票数 3
EN

Stack Overflow用户

发布于 2014-10-31 14:49:44

如何做到这一点: re-redner(ng-if)页面上的某些变量的变化。将会发生的是,dom将被删除,并再次添加,它将再次添加: angular应该将变量绑定到它的当前值,因此通过这种方式,您可以保持绑定一次,并根据需要更新值。

您可以使用下面的reload指令(我在我的应用程序中使用它):

代码语言:javascript
复制
csapp.directive("csReloadOn", ["$timeout", "Logger", function ($timeout, logManager) {

    var $log = logManager.getInstance("csReloadOn");

    var getTemplate = function () {
        return '<div ng-if="doRefreshPageOnModeChange"><div ng-transclude=""></div></div>';
    };

    var linkFunction = function (scope, element, attrs) {
        scope.doRefreshPageOnModeChange = true;

        scope.$watch(attrs.csReloadOn, function (newVal, oldVal) {
            if (newVal === oldVal) return;
            $log.info("changed mode from : " + oldVal + ", to : " + newVal);
            scope.doRefreshPageOnModeChange = false;
            $timeout(function () { scope.doRefreshPageOnModeChange = true; }, 100);
        });
    };

    return {
        restrict: 'A',
        transclude: true,
        template: getTemplate,
        link: linkFunction
    };
}]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26658304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档