AngularJS将值绑定到数据属性中
有人知道如何使用AngularJS将插值绑定到数据属性中吗AngularJS将值绑定到数据属性中,angularjs,Angularjs,有人知道如何使用AngularJS将插值绑定到数据属性中吗 <input type="text" data-custom-id="{{ record.id }}" /> Angular似乎不会插值该值,因为它是元素结构的一部分。有什么办法解决这个问题吗?看来根本没有问题。模板被解析,我的控制器正在下载数据,但是当模板被解析时,数据还没有出现。我放的指令需要数据在操作系统中,同时它只是拾取空的宏数据 我解决这个问题的方法是使用$watch命令: $scope.$watch('re
<input type="text" data-custom-id="{{ record.id }}" />
Angular似乎不会插值该值,因为它是元素结构的一部分。有什么办法解决这个问题吗?看来根本没有问题。模板被解析,我的控制器正在下载数据,但是当模板被解析时,数据还没有出现。我放的指令需要数据在操作系统中,同时它只是拾取空的宏数据 我解决这个问题的方法是使用$watch命令:
$scope.$watch('ready', function() {
if($scope.ready == true) {
//now the data-id attribute works
}
});
然后,当控制器加载了所有ajax内容后,您可以执行以下操作:
$scope.ready = true;
在我看来,你真正想要的是: 编辑:好的,下面是一个简单的示例,说明如何将承诺与控制器和绑定一起使用:
var app = angular.module('myApp', []);
app.controller('MyCtrl', function($scope, $q) {
var deferredGreeting = $q.defer();
$scope.greeting = deferredGreeting.promise;
/**
* immediately resolves the greeting promise
*/
$scope.greet = function() {
deferredGreeting.resolve('Hello, welcome to the future!');
};
/**
* resolves the greeting promise with a new promise that will be fulfilled in 1 second
*/
$scope.greetInTheFuture = function() {
var d = $q.defer();
deferredGreeting.resolve(d.promise);
setTimeout(function() {
$scope.$apply(function() {
d.resolve('Hi! (delayed)');
});
}, 1000);
};
});
工作区:
基本上,您可以绑定承诺,一旦异步响应解决了它,承诺就会实现。您可以提供JSFIDLE示例吗?selectOptions与您在问题中提到的record.id有什么关系?这很好。但是,你能提供一个与我的问题更相关的例子吗?我很难理解它。谢谢:)这基本上是直接的形式文件。。。如果能给他一些与他的问题相关的东西,那就太好了。
var app = angular.module('myApp', []);
app.controller('MyCtrl', function($scope, $q) {
var deferredGreeting = $q.defer();
$scope.greeting = deferredGreeting.promise;
/**
* immediately resolves the greeting promise
*/
$scope.greet = function() {
deferredGreeting.resolve('Hello, welcome to the future!');
};
/**
* resolves the greeting promise with a new promise that will be fulfilled in 1 second
*/
$scope.greetInTheFuture = function() {
var d = $q.defer();
deferredGreeting.resolve(d.promise);
setTimeout(function() {
$scope.$apply(function() {
d.resolve('Hi! (delayed)');
});
}, 1000);
};
});