首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角指令不适用于选择

角指令不适用于选择
EN

Stack Overflow用户
提问于 2013-05-31 02:07:47
回答 1查看 156关注 0票数 2

我似乎无法让选择与角指令工作!我有两个选择,都在指令中。我希望对于第一个选择来确定第二个选择的可用选项。

代码语言:javascript
运行
复制
Here's a fiddle:

http://jsfiddle.net/jordannpotter/hfyUa/

  1. 从“二级选择”中选择"Baz“
  2. 从“初级选择”中选择“优先”
  3. 注意,“二级选择”是空白的!

当然,如果注释掉指令代码(第3-9行),它将完美地工作。

这是怎么回事,我该怎么解决??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-31 03:03:24

因此,所发生的情况是,指令的作用域使您与控制器的作用域分离,您需要在主变量和辅助变量之前添加对象级别。

代码语言:javascript
运行
复制
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-模型的时候,一定会有一个点在里面。如果你没有圆点,那就是你做错了。“

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16848747

复制
相关文章

相似问题

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