我在获取$ scope时遇到了一些困难。$ apply apply正常工作。
一些背景资料。我正在将我的应用程序的部分转换为使用angular。为了做到这一点,我实际上是将数据注入Angular工厂并触发事件,以便将更改应用于已经引导的角度范围。
我的第一次加载模块工作正常。它按照我期望的方式将数据输出到我使用ng-each标记的模板中。我正在监听一个事件来应用范围:
$scope.$on('list:updated', function(event, data){
$scope.$apply(function(e){
$scope.list = data;
});
});
列表变量在我的标记中使用,就像我说的,这在第一次使用时效果很好。当离开角度片然后重新访问时,我第二次得到一个未渲染的模板。所以我看到像
这样的东西{{ document.Title }}
在我的文档标题的标记内部,就像我在第一次加载时所做的那样。我知道你只能引导一次应用程序,所以我这样做是为了解释:
if (Angular.element(document).scope() === undefined){
bootstrap = Angular.bootstrap(document, ['listModule']);
}
else{
bootstrap = Angular.element(document).injector();
}
关闭此注入器,我得到上面引用的工厂,并触发相同的列表:更新的事件。关于如何进行的任何想法?
请让我知道我可以回答哪些问题以帮助解决此问题。
非常感谢您提供的任何帮助!
答案 0 :(得分:0)
尝试使用ng-bind,如 -
private function convertImgToTargetPng(filePath:String,resultFilePath:String,width:Number,height:Number,scale:Number=1):void
{
//# Use your location of convert.exe
var convertFile : File = new File("C:\\imageMagick\\converter.exe");
if ( convertFile.exists ) //# If found in your location
{
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); //vc
nativeProcessStartupInfo.executable = convertFile;
nativeProcessStartupInfo.workingDirectory = File.userDirectory;
var processArgs:Vector.<String> = new Vector.<String>();
processArgs.push("-resize");
processArgs.push(String ( String(width*scale) + "x" + String(height*scale) ) );
processArgs.push(filePath);
processArgs.push(resultFilePath);
nativeProcessStartupInfo.arguments = processArgs;
mProcess = new NativeProcess();
mProcess.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onConvertErrorHandler);
mProcess.addEventListener(NativeProcessExitEvent.EXIT, onConvertExitHandler);
try { mProcess.start(nativeProcessStartupInfo); }
catch (e : Error)
{ Alert.show("convert failed: " + e.message); }
}
}
希望,这会对你有帮助..