angular的ng-bind小问题

小弟前端新人,最近在写一个angular小项目练手,问题会有诸多白目的地方,各位大大见笑了

目前的需求是这样,应用中会动态生成一个数组,数组的每一个元素都是一个对象,然后将这个数组在dom里面repeat出来,大概就这样

    $scope.thisArr = [[obj],[obj],[obj],...]
    <ul>
        <li ng-repeat="item in thisArr">
            <span ng-bind="item.prop1"></span>
            <span ng-bind="item.prop2"></span>
            ...
        </li>
    </ul>

不过我现在需要计算每一个条目当前的状态,所以又在li里面又加了一条,但是这条不直接引用当前条目的属性,而是把条目传入一个函数中做一些计算

    <ul>
        <li ng-repeat="item in thisArr">
            <span ng-bind="item.prop1"></span>
            <span ng-bind="item.prop2"></span>
            ...
            <span ng-bind="statCalc(item)"></span>
        </li>
    </ul>
    $scope.statCalc = function(item){
        //some scripts
        reture status
    }

那么问题来了……我现在点击页面内的其他地方,做一些生成thisArr以外的操作,也会触发这个statCalc(),但是我现在只希望它在生成数组的时候运行一次…………虽然它目前并没有太大的影响……不过我觉得设计上还是有一些问题,应该有比ng-bind更好的解决方案?

希望各位大大能不吝赐教,无论是设计命名之类的东西都可以喷,或者我还有什么没说清楚的地方也请提出,这里先谢过~

阅读 4.1k
1 个回答

如果我没理解错误的话,你是想进行单次绑定?
ng1.3之后可以这样做

    <span>{{::stateCalc(item)}}</span>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题