Javascript angular.js:如何从尚未';成角的';?

Javascript angular.js:如何从尚未';成角的';?,javascript,angularjs,Javascript,Angularjs,更新:这是的副本 我正在使用angular在现有应用程序中实现一个新功能。我现在无法重写整个应用程序,因此这意味着angular中的模型可能需要从应用程序的其余部分进行更新,后者直接操作dom 如何更新模型而不偏离角模型中固有的设计模式 下面是一个简化的工作示例,但它在控制器中包含事件处理程序。也许有更好的办法 注意:按钮是虚构的。应用程序中没有此类按钮。这是为了简化 JS: 另一个选项是为控制器内部的外部对象声明函数: NAMESPACE.someobject.loadSettings =

更新:这是的副本

我正在使用angular在现有应用程序中实现一个新功能。我现在无法重写整个应用程序,因此这意味着angular中的模型可能需要从应用程序的其余部分进行更新,后者直接操作dom

如何更新模型而不偏离角模型中固有的设计模式

下面是一个简化的工作示例,但它在控制器中包含事件处理程序。也许有更好的办法

注意:按钮是虚构的。应用程序中没有此类按钮。这是为了简化

JS:

另一个选项是为控制器内部的外部对象声明函数:

NAMESPACE.someobject.loadSettings = function (data) {
     $scope.$apply(function(){
         $scope.settings = { audiostop: data.audiostop};
    });
}
更新:似乎我需要的是实现依赖注入,如下所述: 首先,不要使用$(“按钮”),单击。在Angular中,您只需在HTML代码中将click处理程序添加到按钮,它就会更干净


至于更新设置-你可以有设置服务,一个特殊的类来处理你的设置。拥有服务比向作用域添加功能更好,因为您可以在不同的作用域中重用相同的服务,并且不需要用数据相关的东西污染作用域。

我知道这一点。谢谢$('button')。在我的示例中使用click来显示我希望避免执行的操作。该按钮用于演示,实际应用程序中没有此类按钮。它表示此时绝对不能绑定到angular的应用程序部分,但必须以某种方式与angular接口。我如何配置一个可以让非角度js代码更改模型的服务?我认为在这种情况下最简单的方法是使用.loadSettings函数提供服务,该函数执行$scope.$apply并在内部调用外部非角度代码。该服务可以从外部非角度代码调用?当然:这正是我想要的,谢谢。我将我的问题标记为重复。可能重复的
NAMESPACE.someobject.loadSettings = function (data) {
     $scope.$apply(function(){
         $scope.settings = { audiostop: data.audiostop};
    });
}