Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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
Javascript 将表达式用作函数参数时AngularJS抛出语法分析错误_Javascript_Angularjs_Expression - Fatal编程技术网

Javascript 将表达式用作函数参数时AngularJS抛出语法分析错误

Javascript 将表达式用作函数参数时AngularJS抛出语法分析错误,javascript,angularjs,expression,Javascript,Angularjs,Expression,我在尝试解析这个标记时遇到了一个错误,基本上我需要在ng click中使用一个表达式作为函数的参数,但它不允许我这样做。如果我不使用表达式,那么当单击相册img导致图像消失时,img src={{image.media.m}}}ng model=image.media.m中的src将被清除。此错误导致saveToAlbum函数无法正常工作 我想知道写这篇文章的正确方式是什么?为什么不允许这样做 <ul class="images-list"> <li ng-repeat

我在尝试解析这个标记时遇到了一个错误,基本上我需要在ng click中使用一个表达式作为函数的参数,但它不允许我这样做。如果我不使用表达式,那么当单击相册img导致图像消失时,img src={{image.media.m}}}ng model=image.media.m中的src将被清除。此错误导致saveToAlbum函数无法正常工作

我想知道写这篇文章的正确方式是什么?为什么不允许这样做

<ul class="images-list">
    <li ng-repeat="image in imageGroup" ng-controller="albumsCtrl">
        <img src="{{image.media.m}}" ng-model="image.media.m">
        <div class="topDiv">
            <img src="img/album.png" ng-click="saveToAlbum({{image.media.m}}, undefined)">
        </div>
        <div class="bottomDiv" ng-controller="favoritesCtrl">
            <img src="img/favorites.png" ng-click="addToFavorites(image.media.m)">
        </div>
    </li>
</ul>
错误:

Error: [$parse:syntax] http://errors.angularjs.org/1.3.10/$parse/syntax?p0=%7B&p1=invalid%20key&p2=14&p3=saveToAlbum(%7B%7Bimage.media.m%7D%7D%2C%20undefined)&p4=%7Bimage.media.m%7D%7D%2C%20undefined)
at Error (native)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:6:417
at hb.throwError (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:190:254)
at hb.object (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:199:435)
at hb.primary (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:189:308)
at hb.unary (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:197:82)
at hb.multiplicative (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:196:324)
at hb.additive (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:196:182)
at hb.relational (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:196:48)
at hb.equality (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:195:418) <img src="img/album.png" ng-click="saveToAlbum({{image.media.m}}, undefined)">

对src=使用ng src,松开{}i saveToAlbum函数

saveToAlbum{{image.media.m},未定义的应该是saveToAlbumimage.media.m,对src=使用unfineduse ngSrc,松开{}i saveToAlbum函数。@Chandermani我解释了为什么不应该这样做。@satchcoder它是ng src而不是ngSrc,但这确实奏效了。发布为答案,以便我可以接受。@Chrillewoodz ngSrc是指令的规范化名称。然后可以使用数据ng src或ng src@卫星编码器你确定{{}}可以省略吗?即使在ngSrc中,我的代码似乎仍然需要它们