父指令范围→子指令范围

时间:2014-08-25 01:28:09

标签: angularjs angularjs-directive

我有角度问题。

我想在$ index处像ng-repeat一样。

查看函数' updateScope'

var updateScope = function(scope, index, valueIdentifier, value, keyIdentifier, key, arrayLength){
    // TODO(perf): generate setters to shave off ~40ms or 1-1.5%
    scope[valueIdentifier] = value;
    if (keyIdentifier) scope[keyIdentifier] = key;
    scope.$index = index;
    scope.$first = (index === 0);
    scope.$last = (index === (arrayLength - 1));
    scope.$middle = !(scope.$first || scope.$last);
    // jshint bitwise: false
    scope.$odd = !(scope.$even = (index&1) === 0);
    // jshint bitwise: true
};

此代码操作 '父指令范围变量 - >子指令范围变量'

你可以这样做

ng-repeat(...)
    {{$index}}

我想要这个动作!!

我试试,但不要采取行动

这是我的代码

-jade

m-progressbar(min="0", max="300", ng-model="value")
    label {{$ratio}}

-js

$scope.value=72;

-directive

define([
    'jquery', 'underscore', 'angular', 'jquery-ui'],
function ($, _, angular) {
    var progressbarApp = angular.module('directives.progress_bar', []);
    progressbarApp
    .directive('mProgressbar', [function mProgressbar () {
     return {
            templateUrl: '/directives/progress-bar.jade',
            restrict: 'EA',
            scope: {
                min: '=',
                max: '=',
                model: "=ngModel"
            },
            link: function (scope, iElement, iAttrs) {
                var progressbar = $( "#progressbar" ); 
                var value = scope.model;
                scope.$watch('model',function (newValue, oldValue, scope){
                    var ratio = ((newValue - scope.min) / (scope.max - scope.min)) * 100;
                    progressbar.progressbar({value:ratio});
                    scope.$ratio = ratio;
                });
            }
        };
    }]) 
}); 

我的代码点是

  • 范围。$ ratio = ratio;

请告诉我一个答案 ㅠÒㅠ

1 个答案:

答案 0 :(得分:0)

如果您想在模板中使用{{$ ratio}},我认为您只是忘了添加$ before比率 我的意思是你应该写下面的内容。

scope.$ratio = ratio;