我似乎无法让选择与角指令工作!我有两个选择,都在指令中。我希望对于第一个选择来确定第二个选择的可用选项。
Here's a fiddle:http://jsfiddle.net/jordannpotter/hfyUa/
当然,如果注释掉指令代码(第3-9行),它将完美地工作。
这是怎么回事,我该怎么解决??
发布于 2013-05-31 03:03:24
因此,所发生的情况是,指令的作用域使您与控制器的作用域分离,您需要在主变量和辅助变量之前添加对象级别。
var app = angular.module('myApp', [])
app.directive('awesomeDirective', function () {
return {
restrict: 'E',
transclude: true,
template: '<div class="awesome" ng-transclude></div>'
}
});
AwesomeController = function ($scope, $timeout) {
$scope.options = {};
updateAllowedSecondaryOptions = function () {
if ($scope.options.primary == 'primaryOption1') {
$scope.secondaryOptions = [
{value: 'foo', title: 'Foo'},
{value: 'bar', title: 'Bar'},
{value: 'baz', title: 'Baz'}]
} else if ($scope.options.primary == 'primaryOption2') {
$scope.secondaryOptions = [
{value: 'bar', title: 'Bar'},
{value: 'baz', title: 'Baz'}]
}
$scope.options.secondary = $scope.secondaryOptions[0]
}
$scope.options.primary = 'primaryOption2'
updateAllowedSecondaryOptions()
$scope.primarySelected = function (newValue) {
$scope.options.primary = newValue;
updateAllowedSecondaryOptions()
}
};http://jsfiddle.net/G5PLL/
通过阅读https://github.com/angular/angular.js/wiki/Understanding-Scopes,您可以看到更多关于正在发生的事情的信息,它将您从原型继承中分离出来。
P.S.Misko的规则“当你有了ng-模型的时候,一定会有一个点在里面。如果你没有圆点,那就是你做错了。“
https://stackoverflow.com/questions/16848747
复制相似问题