Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS中的单向/一次性数据绑定_Angularjs - Fatal编程技术网

AngularJS中的单向/一次性数据绑定

AngularJS中的单向/一次性数据绑定,angularjs,Angularjs,虽然我的应用程序非常小,速度也非常快,但这并不是一个真正的性能问题,我希望在开始处理大型应用程序之前,能够熟练地处理大型应用程序。这促使我尽可能多地确定优化AngularJS的方法,并将这些优化集成到我的“正常”编码例程中。所以我已经挠头好几个小时了,仔细阅读文章和文档,试图找到实现以下目标的最佳方法: 我有一个下拉选择菜单,其中的选项我希望是单向数据绑定的,从视图到模型,因为在这种情况下不需要让模型更新视图 关于上述问题: 这能节省我在$digest循环中的时间吗?或者,如果我只使用ng模型的

虽然我的应用程序非常小,速度也非常快,但这并不是一个真正的性能问题,我希望在开始处理大型应用程序之前,能够熟练地处理大型应用程序。这促使我尽可能多地确定优化AngularJS的方法,并将这些优化集成到我的“正常”编码例程中。所以我已经挠头好几个小时了,仔细阅读文章和文档,试图找到实现以下目标的最佳方法:

  • 我有一个下拉选择菜单,其中的选项我希望是单向数据绑定的,从视图到模型,因为在这种情况下不需要让模型更新视图
  • 关于上述问题: 这能节省我在$digest循环中的时间吗?或者,如果我只使用ng模型的双向数据绑定,这无关紧要吗

    我的另一个问题有点复杂

  • 编辑:此问题已修复(如下所示),但我现在遇到了一个新问题。我已将这一新问题贴在问题的底部,以提高可视性
  • 这是我的模板:

    dropdownstemplate.html

    <div class="form-group">
        <label for="{{::regarding}}" class="col-sm-12 control-label">{{::regarding}}</label>
        <div class="col-sm-12">
            <select class="form-control" id="{{::regarding}}" data-ng-model="data" data-ng-change="update()">
                <option selected>0</option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
                <option>6</option>
                <option>7</option>
                <option>8</option>
                <option>9</option>
                <option>10</option>
                <option>11</option>
                <option>12</option>
                <option>13</option>
                <option>14</option>
                <option>15</option>
                <option>16</option>
                <option>17</option>
                <option>18</option>
                <option>19</option>
                <option>20</option>
            </select>
        </div>
    </div>
    
    下面是我在主html页面中使用此自定义元素时的外观:

    <tr-dropdown regarding="Adults"></tr-dropdown>
    
    
    
    到目前为止,我的代码运行的方式应该是,除了一个小错误。错误在于,如果我不包括$scope.data=0的位;在指令的链接部分,属性“selected”(甚至selected=“selected”)在我的自定义元素附加到主html页面时不会注册。尽管有这个bug(这不是我最关心的),我觉得这不是处理单向绑定概念的最优雅的方式,如果我需要的话。我知道我愿意使用一个名为bindonce的插件,尽管我一直在首先搜索本机解决方案

    在这方面,通过其他人的奋斗发现的任何发现都是最受欢迎的


    **编辑:一次绑定现在成功工作,但我遇到了一个奇怪的异常。Batarang将我的表达式{{::关于}}显示为每次更改一个下拉列表时都继续提取资源。据我所知,{{::about}}应该取消注册,甚至不应该成为页面进一步性能的一个因素。有什么好处**

    您使用的是angular的哪个版本?1.2.22,我是通过Google CDNok引用它的,一次性绑定语法仅从1.3.0开始提供。对于旧版本,您必须使用bindonce插件。啊!!你一定是在跟我开玩笑!哈哈,好吧,这是一个解决了的问题-p谢谢!我需要1.30版(最新版本),因为这是一个更新的功能。
    <tr-dropdown regarding="Adults"></tr-dropdown>